Excel SORTBY 函数
作者:互联网
2026-04-12
SORTBY 函数可根据相关区域或数组中的值,对指定区域或数组的内容进行排序,无论所依据的区域或数组是否包含在待排序的区域或数组内。
注意:SORTBY 函数仅适用于 Microsoft 365 专属版 Excel、Excel 2021 或更高版本,以及 Excel 网页版。

语法
=SORTBY()array, by_array 1, [sort_order 1], [by_array 2, sort_order 2], …)
参数
- array(必需):要排序的区域或数组
- by_array 1(必需): 用于排序的区域或数组。
- [sort_order 1】(可选): 表示排序顺序的数字:
- 1 或省略,表示升序排序;
- -1,表示按降序排序。
- [by_array 2, sort_order 2],……(可选): 用于指定其他数组及其排序方式的配对。
返回值
SORTBY 函数会返回一个数组。
函数说明
- array 可设置为一行、一列,或由多行多列值组成的组合。
- by_array 参数应仅为一行或一列,并且其维度需与 array 保持一致。
- 返回的数组维度与 array 参数相同。如果溢出区域中的一个或多个单元格非空,则会返回 #SPILL!错误。
- 若需省略额外数组及排序方式中的 sort_order 参数,需保留逗号( , ),如:[by_array 2 ,】。
- SORTBY 可用于不同工作簿之间。但请确保被引用的工作簿已打开。否则,在刷新结果单元格时,如果引用的工作簿未打开,将返回 #REF!错误。
- SORTBY 的结果是动态的,也就是说,当源数据中的值发生更改时会自动更新。但如果为 array 添加新条目,结果不会自动刷新。为解决此问题,建议将结构化引用设置为 array 参数。
示例
假设某表格中包含成绩排名,如下截图所示。如果需要先按班级(A 班到 B 班)排序,再按分数(从高到低)排序,并且隐藏分数,只需将 array 参数设置为需展示的列,即 C4:E15,将 by_array 1 设置为班级列,并将 sort_order 留空(默认为按字母顺序排列)。接着,添加一个数组及排序方式的配对:B4:B15,-1. 请复制下方公式,或在结果表左上角的单元格输入该公式,然后按 Enter 即可获得结果:
=SORTBY()C4:E15,C4:C15,,B4:B15,-1)

相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
如何在 Excel 中快速选中所有负数?
如何在 Excel 中从全名中删除中间名的首字母?
如何在 Excel 中进行乘法运算?——完整方法指南
如何在 Excel 中根据特定值快速为列表排名?
如何快速将 Excel 表格转换为 PDF 文件?
如何在 Excel 中查找指定区域内的最大字母?
如何在 Excel 中判断某个时间是否介于两个指定时间之间?
如何在 Excel 中设置,当特定单元格为空时禁止保存文件?
如何在 Excel 中向表格左侧插入一列?
如何在 Excel 中突出显示特定数字的倍数?
AI精选
