作者:乔山办公网日期:
返回目录:excel表格制作
Excel中通过函数实现对表格数据自动升降序排序,简单到没朋友!我们先来看一下效果演示:
这种排序的特点是:
- 未使用到任何的VBA宏代码,通过纯函数功能实现;
- 通过选项按钮实现升序和降序的选择;
- 即使数据中存在重复值也一样可以进行排序;
- 输入数据后即可以实现实时排序的效果;
如果你喜欢这种效果,那就跟着这篇教程一起学习吧!
第1步:在C列建立辅助列;
目的:此步骤的目的是为了处理重复数据。通过在原数据上加一个特别小的不重复值,将原数据转换为不可能出现重复值的情况;
在C3单元格输入以下公式,并向下拖动公式至C11单元格:=B3+ROW()/1000000
第2步:插入选项按钮,实现升、降序的选择;
点击开发工具-插入-选项按钮控件,在表格的空白位置拖动,画出2个控件,并分别命名为升序和降序,并右键设置控件格式,将单元格链接指定到单元格:$F$2,这样设置后,当我们点击升序选项时,$F$2单元格的值显示为1;点击降序选项时则显示为2;
第3步:使用自定义格式将$F$2显示为升序或降序;
选择单元格$F$2,右键设置单元格格式,分类选:自定义,类型中输入以下格式代码:
[=1]升序;[=2]降序;
第4步:输入函数计算得出升降序;
- 在E3单元格输入以下公式并拖动公式至E11单元格:
=IF($F$2=1,INDEX($A$3:$A$11,MATCH(SMALL($C$3:$C$11,ROW(A1)),$C$3:$C$11,0),1),INDEX($A$3:$A$11,MATCH(LARGE($C$3:$C$11,ROW(A1)),$C$3:$C$11,0),1))
- 在F3单元格输入以下代码并拖动公式至F11单元格:
=IF($F$2=1,INDEX($B$3:$B$11,MATCH(SMALL($C$3:$C$11,ROW(A1)),$C$3:$C$11,0),1),INDEX($B$3:$B$11,MATCH(LARGE($C$3:$C$11,ROW(A1)),$C$3:$C$11,0),1))
公式锦囊:INDEX+MATCH是经典的查询定位函数组合;LARGE和SMALL函数是返回第N个最大值和最小值的函数;ROW(A1)函数是返回行号的函数,用于产生序列1,2,3……;
- 通过条件格式-数据条设置蓝色数据条的效果:
总结:在Excel中,函数的功能非常强大。如果你需要今天教程所使用的课件,你可以在私信中回复关键词“自动升降序”即可获取。如果你喜欢今天的教程,请别忘记点赞并转发给更多小伙伴哦!