以前工作,需要排序的时候,我们只能手动的去进行操作排序,但是当我们左边数据更新之后,我们又得手动的操作一次排序
针对这一痛点,Excel出来了一个排序新公式sortby,当我们设定好条件之后,左边数据变化,排序的结果也能随之变化
1、Sortby基本用法它的用法是
=sortby(数据区域,排序依据1,排序,排序依据2,排序...)
排序的时候,当我们输入1是升序,输入-1是降序
![](http://image.uc.cn/s/wemedia/s/upload/2024/9d188b772a379276602439b00e3cf231.png)
例如,左边的数据,我们希望根据工资列进行降序排列:
![](http://image.uc.cn/s/wemedia/s/upload/2024/466f836851694b055632bce41c2bfad3.png)
我们只需要输入公式:
=SORTBY(A2:D10,D2:D10,-1)
![](http://image.uc.cn/s/wemedia/s/upload/2024/9ef2961319e3faf8c759558fd8f402d2.png)
用这个公式来排序的好处就是,当我们左边的数据进行更改的时候,无需重新排序,公式会自动的重新计算,得到我们想要的结果:
![](http://image.uc.cn/s/wemedia/s/upload/2024/73d466d9a6572db8d7d0a6b76bd7c1d7.png)
如果我们现在用两个条件进行排序,分别是性别和工资数据,第1条件是性别进行升序,第2条件是工资进行降序呢?
那我们只需要输入公式:
=SORTBY(A2:D10,C2:C10,1,D2:D10,-1)
![](http://image.uc.cn/s/wemedia/s/upload/2024/1508e39e6e2d6ef7ef32022077558e12.png)
如果我们想打乱表格的顺序进行随机排序,那我们可以使用公式:
=SORTBY(A2:D10,RANDARRAY(9),1)
randarray(9),可以生成一个1-9的随机不重复序列,然后就可以用这个随机生成的序号进行排序了
![](http://image.uc.cn/s/wemedia/s/upload/2024/2679bb8261b6f7014a736e690e4f7d2f.png)
例如,当我们对岗位进行升序的时候,它只是按拼音字母进行的排序
=SORTBY(A2:D10,B2:B10,1)
![](http://image.uc.cn/s/wemedia/s/upload/2024/229eb1f6f2304bea926e931b6597a8b1.png)
当我们希望的排序顺序是:
![](http://image.uc.cn/s/wemedia/s/upload/2024/07cf5498fa578809b29544e3c2e1c9e6.jpg)
那我们可以输入的公式是:
=SORTBY(A2:D10,MATCH(B2:B10,K2:K5,0),1)
![](http://image.uc.cn/s/wemedia/s/upload/2024/1753c2e12ffc101dfaec37db73011cb4.png)
看起来公式复杂,其实是建立一个辅助列,也就是把每个姓名岗位对应的序号列出来,然后用的是这个辅助列进行升序,只是上面的公式直接没把辅助列写出来
![](http://image.uc.cn/s/wemedia/s/upload/2024/ed42767cea7c7fe55bc869ac83795c83.png)
关于这个函数公式,你学会了么?动手试试吧!