Office 365函数新世界:快速排序

打个响指,提一个问题。

以下图所示的数据为例,A:D是数据源,是一份成绩表,现在需要按语文成绩降序排列,结果如F:G列所示。

Office 365函数新世界:快速排序插图


你会怎么写函数公式呢?

常规的解法套路是这样的▼

F2单元格输入数组公式▼

=INDEX(A:A,MOD(LARGE($B$2:$B$12/1%+ROW($2:$12),ROW(A1)),100))

将语文成绩放大百倍,加上行号,然后从大到小取值,再取行号,再用INDEX函数取结果。


湾湾又绕绕,对函数新人很不友好…

而如果你的Excel版本是365,完全可以直接使用SORT函数,F2单元格输入以下公式即可获取全部结果。

F2单元格输入公式▼

=SORT(A2:B12,2,-1)

Office 365函数新世界:快速排序插图(1)


就芥末简单!

那么什么是SORT函数?


SORT语法


SORT函数是一个根据单行或单列的数据为依据进行排序的函数,它的基本语法如下▼

基本语法▼

=SORT(数据源,[排序索引],[升序还是降序],[是否按列排序])

除了第1参数以外,其它参数都是可以省略的。

其中第2参数指定排序索引,如果省略则默认为1

第3参数指定排序规则,1是升序,-1是降序,默认为升序

第4参数指定排序方式,TRUE是按列排序,FALSE是按行排序,默认为FALSE。


依然以上图所示成绩表为例,如果需要对人名进行升序排序,公式如下

=SORT(A2:A12)

Office 365函数新世界:快速排序插图(2)


而如果需要按语文成绩对成绩表降序排序,公式如下▼

=SORT(A2:B12,2,-1)

A2:B12是数据源。第2参数指定了排序依据列的索引号,’语文’在数据源中是第2列,也就是2。第3参数为-1,指定排序规则为降序。


SORTBY函数

打个响指,再提一个新的问题。

依然以上图所示成绩表为例,如果需要按总分进行排序,语文+数学+英语=总分,总分越高,越排在前面,又该怎么写函数公式呢?

Office 365函数新世界:快速排序插图(3)


推荐使用SORTBY函数,F2单元格输入以下公式即可:

=SORTBY(A2:D12,B2:B12+C2:C12+D2:D12,-1)


SORTBY是SORT的姊妹版,支持多列或自定义规则排序。语法格式如下:

语法格式▼

=SORTBY(数据源,排序源1,排序规则1,排序源2,排序规则2……)

以上述按总分排序的公式为例,数据源是A2:D12,排序源1是三科成绩相加的总分列,排序规则是-1,也就是降序排列。

……


如果需要多列排序,比如首先按语文成绩降序排列;如果语文成绩相等,则再按数学成绩降序排序;如果数学成绩相等,则再按英语成绩降序排序……

实现公式如下▼

F2单元格输入公式▼

=SORTBY(A2:D12,B2:B12,-1,C2:C12,-1,D2:D12,-1)

按照优先级,依次指定各科数据,并设置排序规则为降序。计算结果如下图所示。

Office 365函数新世界:快速排序插图(4)

……

再举一个自定义排序的例子。

如下图所示,需要将A列班级,按一班、二班、三班……六班的序列排序。

Office 365函数新世界:快速排序插图(5)


F2单元格输入公式▼

=SORTBY(A2:E12,FIND(A2:A12,”一班二班三班四班五班六班”))


A2:E12是数据源,FIND函数查询A列班级在字符串”一班二班三班四班五班六班”中的位置,返回一个序列号,SORTBY第3参数省略,默认对第2参数排序源作升序排序。


没了,挥挥手,下期再见。


案例文件下载百度网盘..

https://pan.baidu.com/s/1gNartRnYcfsKzNsRpDrHNA 

提取码: p4su


图文制作:看见星光

原载公众号:Excel星球

图片部分来自网络,如有侵权请联系QQ897219494,或者发布邮箱[email protected]
技能大全,高效工具 » Office 365函数新世界:快速排序

提供最优质的资源集合

立即查看 了解详情