表格设计 | 制作一个可以自动升降序排列的Excel表格

大家好,我是徐军泰!

今天给大家介绍一个表格设计案例。

在表格中对数据进行排序,通常我们都是调用数据选项卡下的排序功能来实现的,操作起来不够快捷。

如果能在表格旁边添加两个按钮,直接点击按钮实现升降序排列,那就方便多了。


表格设计 | 制作一个可以自动升降序排列的Excel表格


今天,教大家制作可以自动升降序排列的Excel表格制作——不用VBA,只用函数+控件即可完成。


01 准备数据源


表格设计 | 制作一个可以自动升降序排列的Excel表格


如图,B、C列是要进行排序的数据源,考虑到有可能有相同数据,因此加了D列辅助列,作为后续排序时真正引用的数据源。

D列公式,以D3单元格为例:=C3+ROW()/(10^5)


02 制作控件

在【开发工具】选项卡下,插入控件,选择单选按钮,绘制并复制单选按钮,将按钮分别命名为升序、降序。

右键第1个单选按钮,打开【设置控件格式】,将单元格链接设置为H2单元格:


表格设计 | 制作一个可以自动升降序排列的Excel表格


设置完毕后,当选择升序按钮时,H2返回1,当选择降序按钮时,H2返回2。


表格设计 | 制作一个可以自动升降序排列的Excel表格


03 编写公式


表格设计 | 制作一个可以自动升降序排列的Excel表格


在H列编写公式并向下复制,以H3单元格为例,公式为:

=IF($H$2=1,SMALL($D$3:$D$14,ROW(A1)),LARGE($D$3:$D$14,ROW(A1)))

即,当H2等于1时,依次返回第N个最小值;当H2等于2时,依次返回第N个最大值,N为1、2、3、4、……

在G列编写公式并向下复制,以G3单元格为例,公式为:

=INDEX($B$3:$B$14,MATCH(H3,$D$3:$D$14,0))

即通过数值来匹配对应的姓名(数值在第1步已经通过处理,避免了重复值可能会引起的匹配错误)。

现在我们已经实现了数据的升降序排列,可以点按钮测试。


04 条件格式及自定义格式优化


表格设计 | 制作一个可以自动升降序排列的Excel表格


为了让表格更直观,我们可以给H列数据加上数据条,具体在条件格式中设置,不再赘述。

另外 ,H2单元格中的数字1和2,我们可以利用自定义格式将其显示为“升序”或“降序”。


表格设计 | 制作一个可以自动升降序排列的Excel表格


以上就是今天的内容,很简单吧~

多说一句,这是一个非常好的学习案例,是对函数、条件格式、自定义格式、控件等综合知识的应用,对以上模块知识不是太了解的同学可以当作一个了解的机会。

也建议大家尽可能系统学习一下这些知识,每一个知识模块之间都是有联系的,只有扎实掌握好每个模块知识,才能做到灵活应用。

喜欢我的作品,请给我留言,好的内容欢迎你转发分享哟!

另外:关注后,私信回复【函数】

免费领取4300套高颜值商务图表+Excel函数数据分析课程【6节高清系列课程】


分享到:


相關文章: