在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、对“月薪”升序排序。
方法:
在目标单元格中输入公式:=SORT(G3:G12)。
解读:
从结果中可以看出,Sort函数和Rank、Sumproduct函数的排序结果是有很大的区别的,并不是返回该值在指定范围中的相对位置,而是对数据源中的值按照指定的方式进行了重排。
2、对“月薪”降序排序。
方法:
在目标单元格中输入公式:=SORT(G3:G12,,-1)。
解读:
1、如果要对指定的值降序排序,就要指定“排序模式”,当值为-1时,表示降序排序。
2、学习到此处部分亲可能已经有了疑问,只是对“月薪”排序,其它列的值未发生变动,导致数据不匹配,没有实际意义,没有应用场景……
从当前的结果看,确实是这样,但是我们仔细研读Sort函数的功能及语法结构就会发现,第一参数时“数组或数据区域”,并不是单纯的列。我们接着看下面的案例。
(二)多字段排序。
1、目的:以“月薪”为主要关键字进行升序排序。
从“目的”中可以看出,以“月薪”为主要关键字,意思就是保持数据的一致性。
方法:
在目标单元格中输入公式:=SORT(B3:G12,6)。
解读:
1、公式中的参数“6”指在指定的数据范围B3:G12中,以第6列的值,即“月薪”为主要关键字进行排序。
2、所有行的数据保持了一致变化,和“排序”命令产生的效果一致。
2、目的:以“月薪”为主要关键字进行降序排序。
方法:
在目标单元格中输入公式:=SORT(B3:G12,6,-1)。
(三)混合字段排序。
目的:以“月薪”为主要关键字“降序”排序,以“年龄”为次要关键字进行“升序”排序。
方法:
在目标单元格中输入公式:=SORT(B3:G12,{6,2},{-1,1})。
解读:
1、公式的意思就是对第6列,即“月薪”列降序(-1)排序,对第2列,即“年龄”升序(1)排序。
2、对指定的列的优先级按照指定的顺序依次从左向右执行。
最美尾巴:
从应用案例中可以看出,Sort函数与Rank和Sumproduct函数的排序还是有很大的区别的,Sort函数更贴近于“排序”命令,尤其是“混合字段”排序功能中体现的更为具体。而Rank和Sumproduct返回的是指定的值在指定范围中的相对位置。
热门跟贴