SORTBY 函数基于相应范围或数组中的值对范围或数组的内容进行排序。
在此示例中,我们按照人员年龄对人员姓名列表进行升序排列。
=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)
参数 |
描述 |
---|---|
array 必需 |
要进行排序的数组或区域 |
by_array1 必需 |
要对其进行排序的数组或区域 |
[sort_order1] 可选 |
要用于排序的顺序。 1 表示升序,-1 表示降序。 默认为升序。 |
[by_array2] 可选 |
要对其进行排序的数组或区域 |
[sort_order2] 可选 |
要用于排序的顺序。 1 表示升序,-1 表示降序。 默认为升序。 |
注意:
-
可将数组视为一行值、一列值或几行值和几列值的组合。 在上述示例中,SORTBY 公式的数组为范围 D2:E9。
-
SORTBY 函数将返回一个数组,如果该数组是公式的最终结果,则将溢出。 这意味着,当按“Enter”时,Excel 将动态创建相应大小的数组范围。 如果支持数据位于 Excel 表格中,若使用结构化引用,则从数组范围中添加或删除数据时,数组将自动重设大小。 有关详细信息,请参阅关于溢出数组行为的此文章。
-
Excel 对工作簿之间的动态数据提供有限支持,并且仅当这两个工作簿时都处于打开状态时才支持此方案。 如果关闭源工作簿,刷新时,任何链接的动态数组公式都将返回 #REF! 错误 。
示例
按照区域对表格进行升序排序,然后按照每个人员的年龄进行降序排序。
配合使用 SORTBY 与 RANDARRAY以及 COUNTA 随机化值列表。 在本例中,E2# 引用从单元格 E2 开始的动态数组范围,因为该范围使用 =SEQUENCE(10) 填充。 # 符号称为溢出范围运算符。
使用 SORTBY 按照高温对温度和降水值表格进行排序。
错误条件
-
By_array 参数必须为一行高或一列宽。
-
所有参数必须大小相同。
-
如果排序顺序参数不为 -1 或 1,则公式将导致 #VALUE! 错误。 如果省略排序顺序参数,Excel 将默认为升序。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。