Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?


Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

在Excel中,要对指定的值进行排序,用到最多的应该是Rank函数 , 其次应该是Sumproduct函数,Rank函数通常称之为“美式排名”、而Sumproduct函数通常称之为“中国式排名” 。在Office365中,新增了Sort函数 , 其功能可以秒杀Rank和Sumproduct函数 。

一、Sort函数功能及语法结构 。
功能:对指定范围内的数据或数组进行排序 。
语法结构:=Sort(数组或数据区域,[主要关键字的行数或列数],[排序模式],[排序方式]) 。
解读:
1、参数“主要关键字的行数或列数”是指在指定的“数组或数据区域”中以此列或此行为主要关键字进行排序 , 而此列在指定的“数组或数据区域”中所处的相对列数或行数 。缺省情况下为第1行 。
2、参数“排序模式”有2个值 , 分别为1和-1 , 分别对应“升序”或“降序”模式 。缺省情况下为升序 。
3、参数“排序方式”有2个值,分别为TRUE或FALSE,TRUE表示按列排序 , FALSE或缺省该参数时表示按行排序 。
4、当缺省“主要关键字的行数或列数”、“排序模式”和“排序方式”时,表示将指定“数组或数据区域”中的第1列的值按升序排序 。

二、Sort函数应用技巧 。
(一)单字段排序 。
1、对“月薪”升序排序 。
Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

方法:
在目标单元格中输入公式:=SORT(G3:G12) 。
解读:
从结果中可以看出 , Sort函数和Rank、Sumproduct函数的排序结果是有很大的区别的,并不是返回该值在指定范围中的相对位置 , 而是对数据源中的值按照指定的方式进行了重排 。

2、对“月薪”降序排序 。
Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

方法:
在目标单元格中输入公式:=SORT(G3:G12,,-1) 。
解读:
1、如果要对指定的值降序排序,就要指定“排序模式”,当值为-1时 , 表示降序排序 。
2、学习到此处部分亲可能已经有了疑问,只是对“月薪”排序,其它列的值未发生变动,导致数据不匹配,没有实际意义,没有应用场景……
从当前的结果看,确实是这样,但是我们仔细研读Sort函数的功能及语法结构就会发现,第一参数时“数组或数据区域”,并不是单纯的列 。我们接着看下面的案例 。

(二)多字段排序 。
1、目的:以“月薪”为主要关键字进行升序排序 。
从“目的”中可以看出,以“月薪”为主要关键字,意思就是保持数据的一致性 。
Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

方法:
在目标单元格中输入公式:=SORT(B3:G12,6) 。
解读:
1、公式中的参数“6”指在指定的数据范围B3:G12中 , 以第6列的值,即“月薪”为主要关键字进行排序 。
2、所有行的数据保持了一致变化,和“排序”命令产生的效果一致 。

2、目的:以“月薪”为主要关键字进行降序排序 。
Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

方法:
在目标单元格中输入公式:=SORT(B3:G12,6,-1) 。

(三)混合字段排序 。
目的:以“月薪”为主要关键字“降序”排序 , 以“年龄”为次要关键字进行“升序”排序 。
Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?

方法:
在目标单元格中输入公式:=SORT(B3:G12,{6,2},{-1,1}) 。
【Office365新增函数Sort,秒杀Rank和Sumproduct,你会用吗?】解读:
1、公式的意思就是对第6列,即“月薪”列降序(-1)排序 , 对第2列,即“年龄”升序(1)排序 。
2、对指定的列的优先级按照指定的顺序依次从左向右执行 。

最美尾巴:
从应用案例中可以看出,Sort函数与Rank和Sumproduct函数的排序还是有很大的区别的 , Sort函数更贴近于“排序”命令,尤其是“混合字段”排序功能中体现的更为具体 。而Rank和Sumproduct返回的是指定的值在指定范围中的相对位置 。

相关经验推荐