打个响指,提一个问题。 以下图所示的数据为例,A:D是数据源,是一份成绩表,现在需要按语文成绩降序排列,结果如F:G列所示。 你会怎么写函数公式呢? 常规的解法套路是这样的▼
将语文成绩放大百倍,加上行号,然后从大到小取值,再取行号,再用INDEX函数取结果。 湾湾又绕绕,对函数新人很不友好… 而如果你的Excel版本是365,完全可以直接使用SORT函数,F2单元格输入以下公式即可获取全部结果。
就芥末简单! 那么什么是SORT函数? SORT语法 SORT函数是一个根据单行或单列的数据为依据进行排序的函数,它的基本语法如下▼
除了第1参数以外,其它参数都是可以省略的。 其中第2参数指定排序索引,如果省略则默认为1 第3参数指定排序规则,1是升序,-1是降序,默认为升序 第4参数指定排序方式,TRUE是按列排序,FALSE是按行排序,默认为FALSE。 依然以上图所示成绩表为例,如果需要对人名进行升序排序,公式如下
而如果需要按语文成绩对成绩表降序排序,公式如下▼
A2:B12是数据源。第2参数指定了排序依据列的索引号,'语文'在数据源中是第2列,也就是2。第3参数为-1,指定排序规则为降序。 SORTBY函数 打个响指,再提一个新的问题。 依然以上图所示成绩表为例,如果需要按总分进行排序,语文+数学+英语=总分,总分越高,越排在前面,又该怎么写函数公式呢? 推荐使用SORTBY函数,F2单元格输入以下公式即可:
SORTBY是SORT的姊妹版,支持多列或自定义规则排序。语法格式如下:
以上述按总分排序的公式为例,数据源是A2:D12,排序源1是三科成绩相加的总分列,排序规则是-1,也就是降序排列。 …… 如果需要多列排序,比如首先按语文成绩降序排列;如果语文成绩相等,则再按数学成绩降序排序;如果数学成绩相等,则再按英语成绩降序排序…… 实现公式如下▼
按照优先级,依次指定各科数据,并设置排序规则为降序。计算结果如下图所示。 …… 再举一个自定义排序的例子。 如下图所示,需要将A列班级,按一班、二班、三班……六班的序列排序。 F2单元格输入公式▼
A2:E12是数据源,FIND函数查询A列班级在字符串'一班二班三班四班五班六班'中的位置,返回一个序列号,SORTBY第3参数省略,默认对第2参数排序源作升序排序。 没了,挥挥手,下期再见。 案例文件下载百度网盘.. https://pan.baidu.com/s/1gNartRnYcfsKzNsRpDrHNA 图文制作:看见星光 原载公众号:Excel星球 |
|
来自: hercules028 > 《excel》