日常办公中,我们经常需要从Excel表格里提取排名数据——比如学生总成绩的前三名、员工业绩的后三名,手动筛选又麻烦又容易出错。
今天就给大家分享一个超实用的技巧:通过插入选项按钮,一键切换“前三名”“后三名”,搭配现成公式,不用反复筛选、排序,数据自动更新!
第一步:插入选项按钮(表单控件),实现一键切换
首先我们需要插入两个选项按钮,用来控制显示“前三名”还是“后三名”,并将按钮和指定单元格关联,方便公式识别切换指令。
具体步骤(超详细,跟着做不踩坑):
- 打开Excel,找到顶部菜单栏的【开发工具】(如果没有这个选项,先点击【文件】→【选项】→【自定义功能区】,勾选“开发工具”,确定即可调出);
- 点击【开发工具】→【插入】,在弹出的下拉框中,选择【表单控件】里的【选项按钮(窗体控件)】;
- 在Excel空白区域,画出第一个选项按钮,右键点击按钮,选择【编辑文字】,将文字改为“前三名”;
- 重复步骤3,再画一个选项按钮,改为“后三名”;
- 右键点击任意一个选项按钮,选择【设置控件格式】,在弹出的窗口中,找到【单元格链接】,选中 M1,点击【确定】;
- 测试一下:点击“前三名”,单元格M1会显示“1”;点击“后三名”,M1会显示“2”——这一步是关键,公式会通过M1的值判断该显示哪组数据。
第二步:输入公式,一键提取前后三名数据
公式 1:
=TAKE(SORT(B2:F12,5,IF(M1=1,-1,1)),3)
公式解读
- 「B2:F12」:我们需要提取数据的整个区域(可根据自己的表格调整范围);
- 「5」:代表按第5列(也就是F列,总成绩列)排序(如果你的总成绩在其他列,替换成对应列数即可);
- 「IF(M1=1,-1,1)」:核心判断逻辑——当M1=1(选中“前三名”),按F列降序排序;当M1=2(选中“后三名”),按F列升序排序;
- 「TAKE(...,3)」:从排序后的结果中,提取前3行数据,刚好对应“前三名”或“后三名”。
公式 2:
如果你的Excel版本不支持TAKE/SORT函数(比如2019及以下老版本),可以使用下面这个公式:
=SORT(FILTER(B2:F12,IF(M1=1, F2:F12>=LARGE(F2:F12,3), F2:F12<=SMALL(F2:F12,3))),5,-1)
第三步:测试效果,一键切换超省心
公式输入完成后,就可以测试啦:
- 点击“前三名”按钮,M1=1,公式自动按F列降序,显示总成绩最高的3行数据;
- 点击“后三名”按钮,M1=2,公式自动按F列升序,显示总成绩最低的3行数据;
- 如果原始数据(B2:F12)更新了(比如修改了某个学生的成绩),只要重新点击一下选项按钮,结果就会自动刷新,不用重新输入公式!