你现在的位置:
函数SORTBY,让表格学会自动排序
SORTBY 函数概述
SORTBY 是 WPS 表格(以及 Excel 365/2021)中的动态数组函数,用于根据一个或多个条件列对数据进行排序,而无需改变原始数据的结构。
语法
=SORTBY(数组, 排序依据数组1, [排序顺序1], [排序依据数组2, 排序顺序2], ...)
| 参数 | 说明 |
|---|---|
数组 | 要排序的数据区域 |
排序依据数组1 | 第一个排序条件的列/行 |
排序顺序1 | 可选:1 升序(默认),-1 降序 |
排序依据数组2 | 可选:第二个排序条件的列/行 |
排序顺序2 | 可选:对应的排序顺序 |
基础示例
示例 1:单列排序(按分数降序)
假设 A1:C10 是学生成绩表(姓名、科目、分数):
=SORTBY(A2:C10, C2:C10, -1)
- 按分数列(C列)降序排列所有数据
示例 2:多列排序(先按部门升序,再按工资降序)
=SORTBY(A2:D20, B2:B20, 1, D2:D20, -1)
- 先按部门(B列)升序排列
- 同部门内按工资(D列)降序排列
与 SORT 函数的区别
| 特性 | SORT | SORTBY |
|---|---|---|
| 排序依据 | 按数组的列/行号排序 | 按独立的条件数组排序 |
| 灵活性 | 较低 | 高(条件数组可与数据分离) |
| 多条件 | 有限 | 支持多个条件数组 |
| 使用场景 | 简单排序 | 复杂条件排序 |
实际应用场景
场景 1:根据辅助列排序
=SORTBY(A2:B10, RANDARRAY(9), 1) // 随机排序
场景 2:按计算结果排序
=SORTBY(A2:C10, C2:C10/B2:B10, -1) // 按计算比率降序
场景 3:横向排序
=SORTBY(A1:E3, A2:E2, -1) // 按第2行的值横向排序
注意事项
- 版本要求:需要 WPS Office 2019 及以上版本,或 WPS 365
- 溢出结果:结果会自动溢出到相邻单元格,下方/右方不能有数据阻挡
- 数组维度:排序依据数组必须与数据数组的行数(或列数)相同
- 错误处理:如果排序依据包含错误值,结果也会返回错误
经典对比示例
| 函数 | 公式 | 效果 |
|---|---|---|
| SORT | =SORT(A2:C10, 3, -1) | 按第3列降序 |
| SORTBY | =SORTBY(A2:C10, C2:C10, -1) | 按C列数据降序(更直观) |
SORTBY 的优势:当插入/删除列时,基于列引用的 SORTBY 不会出错,而 SORT 的列号可能失效。

发表回复