Excel特别有用的函数之SORT函数
在新版本的Excel中,微软推出了一批相当有用的函数,这些函数可以大大提高我们的工作效率。今天介绍其中的SORT函数。
01
语法
SORT函数的语法是这样的:
这个函数有四个参数,其中
数组是将要进行排序的一组数,可以是一个区域,比如A1:C100,或者是个数组:{10,8,6,2,3}
sort_index是排序的依据,是数组参数的一行或者一列,比如A1:A100。这个参数是可选的,如果省略这个函数,就按照数组参数的第一行或者第一列进行排序
sort_order是排序方式,1代表升序,-1代表降序。这个参数是可选的,如果省略,就按照升序进行排序
by_col是排序方向。TRUE表示列方向排序,FALSE表示行方向进行排序。这个参数是可选的,如果省略,就进行行方向的排序。
这个函数是动态数组函数,它的结果是个数组,会按照我们介绍过的动态数组行为方式进行“溢出”。(参见动态数组很强大,Excel的“新”功能)
02
几个例子
下面通过几个例子演示这个函数的使用场景。
假设我们有一下数据:
公式:
=SORT(B3:F12,2,1,FALSE)
将返回结果表:
这个结果是根据源数据按照第2列(产品列)进行升序排序得到的结果。结果是个数组,所以“溢出”到10行5列的区域。
如果希望按照多列排序,也可以使用这个函数,只不过需要将第二个参数写成一个数组:
=SORT(B3:F12,{2,1},1,FALSE)
注意,这里第二个参数是一个数组:{2,1},表示按照两列进行排序,主要排序依据是第2列,次要排序依据是第1列。结果如下:
03
有什么用?
有些人会疑惑这个函数到底有什么用?毕竟都已经有排序功能了。其实,排序功能有一个最大的缺陷就是只能手工操作,这就导致我们的自动化处理数据的过程不得不中断了。而SORT函数就可以跟其他函数一起自动完成数据处理过程了。
以前,没有这个函数的时候,我们很多操作都得走一些弯路。现在,使用这个函数可以让我们简化操作步骤。
例如,我们以前介绍过一些商务图表的制作方法,其中很多就需要进行排序,为了能够让图表根据源数据自动变化,我们不能使用排序功能,只能使用其他函数得到这样的效果。
例如,在文章一个图表的进化史-如何展现销量排名数据中,有一个图表:
我们强调,柱形图或者条形图应该进行从高到低的排序。
但是,我们的源数据是这样的:
为了能够制作出需要的图表,我们添加了辅助列:
这里,我们在源数据中添加了一个排名列,使用RANK函数。然后在作图数据中通过VLOOKUP函数得到相应的产品和销量。非常麻烦。更加麻烦的是我们必须得根据源数据的产品个数设计这个作图数据的区域,一旦源数据有变化(增加或减少了产品),必须手动调整这个作图数据,效率很低。
使用SORT函数就简单了,
只要这一个函数,就可以得到排序后的结果。使用这个结果作图,非常方便,而且,源数据变化后,这个结果自动跟着变化,不需要任何手工干预,效率非常高。
需要提醒大家注意的是,这个函数只有新版本的Excel才能使用(Office 365和Excel 2019)。如果这个函数在Excel 2016或以前的版本中打开的话,就会出现下面的结果:
数据仍然可以使用。但是出现了一个不认识的“函数”:_XLFN.XLWS,表示这是一个新版本的函数,在当前的Excel版本中不支持。