Excel这个函数,居然能自己"长眼睛"排序!
- 2026-11-10 02:50:25
一个同事修改了自己的工资数字后,我表格中自己的相对排名一下子就自动发生了变化,她看我电脑的屏幕有好一阵子,问是不是我偷偷安装了什么插件。
不是的。我只是使用了SORTBY这个函数。
只要学会了这个函数,你就不用再按那个【排序】按钮了。
它为什么那么厉害呢?
普通排序就是点击一下就进行一次排序,当数据被修改以后还要重新开始排序。
不同于 SORTBY 的是,它是一个动态数组函数——如果源数据发生了变化,那么排序的结果也会相应地更新,就像给源数据装上了监控系统一样。
语法如下所示:
=SORTBY(数据区域,排序依据列,排序方式,...)
在排序的时候我们有两种选择:1表示升序,而-1则表示降序,如果你记不得的话可以先截图看一下。
❶ 简单的排序方法:一个公式即可完成排序
把整个表格A2到D10的区域按照工资由大到小排序:
=SORTBY(A2:D10,D2:D10,-1)

不管是在哪一格空白处输入,回车后就能看到这一片结果都自动溢出来了,每个公式可以代替十多次的手动操作。
❷多个条件进行排序,谁写的在前就谁说了算
先按照性别进行升序排序,相同性别的按照工资进行降序排序:
=SORTBY(A2:D10,C2:C10,1,D2:D10,-1)

所以重点来了,写在前面的条件是优先级更高的,我们可以根据自己的需求添加几个条件就写几个条件,然后一个个往后排就行了。
❸随机打乱:抽奖、抽签神器
想要将名单完全打乱吗?可以使用RANDARRAY生成一组随机数,然后根据随机数的大小来打乱行序:
=SORTBY(A2:D10,RANDARRAY(9),1)

需要注意的是,括号中的数字9要与你输入的数据行数相匹配,即有9行数据就写9。
❹自定义顺序是最实用的一招
例如,某领导要求自己的岗位必须按照「总经理→经理→主管→员工」的顺序排列,直接拼音排序就歇菜了。
1.在K2到K5中输入你希望的顺序:总经理>经理>主管>员工。
2.将岗位名称转换为对应的数字序号并按顺序排列:
=SORTBY(A2:D10,MATCH(B2:B10,K2:K5,0),1)

简单来说,就是 MATCH 函数将文本转换为它们在列表中的位置的数字,然后 SORTBY 根据这些数字对它们进行排序,相当于让文本进行了自定义排序,并且不需要添加辅助列。
最后啰嗦三句
该函数是新版本Excel(365/2021)才有的,老版本是没有这个函数的,找不到的。
学会之后不要让它在收藏夹里吃灰,打开表格,现在就把它那个什么排序的按钮给戒掉。