WPS SORT()函数的用法(附带实例)
SORT 函数可以对一个单元格区域或数组进行指定条件排序,返回排序后的数据数组,函数语法格式如下:
【实例 1】单条件排序,根据“日期”升序排序。在 F5 单元格输入任意一个公式:

图 1 根据“日期”升序排序
使用 SORT 函数对数据排序时,如果排序条件是首列按行升序排序,则输入第 1 个参数即可。
【实例 2】单条件排序,根据“金额”降序排序。在 F15 单元格输入任意一个公式:

图 2 根据“金额”降序排序
SORT 函数的第 1 个参数引用 B15:D20 单元格区域,因为“金额”字段在此区域中的第 3 列,所以第 2 个参数排序依据输入 3,第 3 个参数设置为 –1 表示降序排序,第 4 个参数设置为 FALSE 或省略此参数,都可按行排序。
【实例 3】多条件排序,根据“日期”进行升序排序,同时对“金额”降序排序。在 F25 单元格输入公式:

图 3 多条件排序
SORT 函数的第 2 个参数和第 3 个参数可指定数组,第 2 个参数设置 1、3 列两列作为排序依据,第 3 个参数对应设置 1(升序)、–1(降序)两个排序方式,函数可以根据参数中数组顺序依次进行排序。
【实例 4】按列升序排序,根据“合计”行报价,进行升序排序。在 C42 单元格输入公式:

图 4 按列升序排序
按列排序需要设置 SORT 函数的第 4 个参数值为 TRUE,因为“合计”行在最后一行,可使用 ROWS 函数引用 C34:H40 单元格区域,计算此单元格区域的总行数,作为 SORT 函数的第 2 个参数。

图 5 第 2 个参数值大于第 1 个参数的数组长度
因 SORT 函数的第 1 个参数引用了 B5:D10 单元格区域,此单元格区域为 6 行 3 列,当第 2 个参数值大于 3,并且按行排序时,超出第 1 个参数的数组列数,所以函数会返回错误值 #VALUE!。
2) 当第 3 个参数不等于 1 并且不等于 –1 时,函数会返回错误值 #VALUE!。在 F15 单元格输入公式:

图 6 第3个参数不等于1并且不等于–1
SORT 函数的第 3 个参数只接受 1 或 –1,如果设置其他值,则函数会返回错误值 #VALUE!。
3) 在多条件排序时,当第 2 个参数与第 3 个参数数组长度不同时,函数会返回错误值 #VALUE!。在 F25 单元格输入公式:

图 7 第2个参数与第3个参数数组长度不同
第 2 个参数数组长度为 3,第 3 个参数数组长度为 2,两个参数数组长度不同,函数会返回错误值 #VALUE!。
=SORT(数组, [排序依据], [排序顺序], [按列])
- 数组(必填项):数组或单元格区域;
- 排序依据:大于 0 的整数,省略参数时,默认值为 1;
- 排序顺序:1 表示升序,-1 表示降序。省略参数时,默认值为 1;
- 按列:TRUE 表示按列排序,FALSE 表示按行排序。省略参数时,默认值为 FALSE。
【实例 1】单条件排序,根据“日期”升序排序。在 F5 单元格输入任意一个公式:
=SORT(B5:D10) =SORT(B5:D10,1,1,FALSE)如下图所示:

图 1 根据“日期”升序排序
使用 SORT 函数对数据排序时,如果排序条件是首列按行升序排序,则输入第 1 个参数即可。
【实例 2】单条件排序,根据“金额”降序排序。在 F15 单元格输入任意一个公式:
=SORT(B15:D20,3,-1) =SORT(B15:D20,3,-1,FALSE)如下图所示:

图 2 根据“金额”降序排序
SORT 函数的第 1 个参数引用 B15:D20 单元格区域,因为“金额”字段在此区域中的第 3 列,所以第 2 个参数排序依据输入 3,第 3 个参数设置为 –1 表示降序排序,第 4 个参数设置为 FALSE 或省略此参数,都可按行排序。
【实例 3】多条件排序,根据“日期”进行升序排序,同时对“金额”降序排序。在 F25 单元格输入公式:
=SORT(B25:D30,{1,3},{1,-1})如下图所示:

图 3 多条件排序
SORT 函数的第 2 个参数和第 3 个参数可指定数组,第 2 个参数设置 1、3 列两列作为排序依据,第 3 个参数对应设置 1(升序)、–1(降序)两个排序方式,函数可以根据参数中数组顺序依次进行排序。
【实例 4】按列升序排序,根据“合计”行报价,进行升序排序。在 C42 单元格输入公式:
=SORT(C34:H40,ROWS(C34:H40),1,TRUE)如下图所示:

图 4 按列升序排序
按列排序需要设置 SORT 函数的第 4 个参数值为 TRUE,因为“合计”行在最后一行,可使用 ROWS 函数引用 C34:H40 单元格区域,计算此单元格区域的总行数,作为 SORT 函数的第 2 个参数。
SORT函数注意事项
1) 当第 2 个参数值大于第 1 个参数的数组长度时,函数会返回错误值 #VALUE!。在 F5 单元格输入公式:=SORT(B5:D10,4,-1)如下图所示:

图 5 第 2 个参数值大于第 1 个参数的数组长度
因 SORT 函数的第 1 个参数引用了 B5:D10 单元格区域,此单元格区域为 6 行 3 列,当第 2 个参数值大于 3,并且按行排序时,超出第 1 个参数的数组列数,所以函数会返回错误值 #VALUE!。
2) 当第 3 个参数不等于 1 并且不等于 –1 时,函数会返回错误值 #VALUE!。在 F15 单元格输入公式:
=SORT(B15:D20,3,2)如下图所示:

图 6 第3个参数不等于1并且不等于–1
SORT 函数的第 3 个参数只接受 1 或 –1,如果设置其他值,则函数会返回错误值 #VALUE!。
3) 在多条件排序时,当第 2 个参数与第 3 个参数数组长度不同时,函数会返回错误值 #VALUE!。在 F25 单元格输入公式:
=SORT(B25:D30,{1,3,2},{1,-1})如下图所示:

图 7 第2个参数与第3个参数数组长度不同
第 2 个参数数组长度为 3,第 3 个参数数组长度为 2,两个参数数组长度不同,函数会返回错误值 #VALUE!。