Excel - SORTBY 函数
SORTBY 函数
Excel SORTBY 函数允许用户根据不同数组/单元格范围中的值对数组或特定单元格范围进行排序。SORYBY 在 Excel 365 和 2021 中受支持,并归类为 Microsoft Excel 中的动态数组函数。SORT_BY 函数在旧版本的 Microsoft Excel 中不受支持。例如,您可以根据贫困儿童的年龄对他们的姓名及其班级进行排序。
兼容性
此动态数组函数与以下版本的 Microsoft Excel 兼容 −
- Excel for Microsoft 365
- Excel for Microsoft 365 for Mac
- Excel for the web
- Excel 2024
- Excel 2024 for Mac
- Excel 2021
- Excel 2021 for Mac
- Excel for iPad
- Excel for iPhone
- Excel for Android tablets
- Excel for Android phones
语法
SORTBY 函数的语法如下−
=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)
参数
您可以将以下参数与 SORTBY 函数一起使用 −
参数 | 描述 | 必需/可选 |
---|---|---|
array | 它指定一个数组或单元格范围。 | 必需 |
by_array1 | 用于排序的另一个数组/单元格范围 | 可选 |
sort_order1 | 其值可以是 1 或 -1。您可以指定 1 表示升序,-1 表示降序。 | 可选 |
by_array2 | 用于对 SORT 函数的第一个参数中指定的数组进行排序的第二个数组/单元格范围。 | 可选 |
sort_order2 | 其值可以是 -1(表示降序)和 1(表示升序) | 可选 |
要点
- 参数 sort_order 1 和 sort_order 2 必须具有相同数量的行和列;否则,SORTBY 函数将返回 #VALUE! 错误。
- 如果您在 sort_order1 和 sort_order2 中指定除 -1 和 1 以外的数值,则在这种情况下,SORTBY 函数将返回 #VALUE! 错误。
- 每当您修改定义数组中的数据时,动态数组结果都会自动更改。
- 有时,如果可用于展示结果的行/列有限,Microsoft Excel 将显示 #SPILL 错误。确保在水平和垂直方向上有足够的空间来填充生成的动态数组。
SORTBY 函数示例
练习以下示例以了解在 Excel 中使用 SORTBY 函数的方法。
示例 1
SORTBY 函数根据指定范围内的值筛选所提供数组中定义的数据。在此示例中,用户必须按薪水筛选员工姓名。
步骤 1 − 以下数据集用于使用 SORTBY 函数 −

步骤 2 −在 F2 单元格中输入公式 "=SORTBY(Table15,D2:D8)"。然后按 Enter 键。

说明
- 第一个参数 array 表示范围为 A21−B8 的 Table15。
- 第二个参数 by_array1 表示单元格范围 D2:D8,不包括其标题。
- 表 15 根据其年龄排序。例如,如果员工 Raayn 的年龄最小,那么他将位于动态数组中的第一位,依此类推。
步骤 3 − SORTBY 函数将获得按儿童年龄升序排列的结果动态数组。

步骤 4 − 如果您希望按年龄降序显示 TABLE15,您可以在 F2 单元格中输入公式 "=SORTBY(Table15,D2:D8,-1)",然后点击 Enter 选项卡。此处,第三个参数为 -1,用于降序排列。


示例 2
使用 Excel 中的 SORTBY 函数对数据集进行多列排序。
解决方案
假设示例数据集包含四列:客户、数据资源、活跃/不活跃客户和资源受欢迎程度。

在 F2 单元格中输入公式 "=SORTBY(B2:B8,A2:A8,1,D2:D8,-1)",然后按 Enter 按钮。在此公式中,第二个参数 by_array1 指定范围 A2:A8— 第三个参数 1 按升序排序。第四个参数 by_array2 表示单元格范围 D2:D8。第五个参数 -1 按降序排序。

因此,SORTBY 函数根据名为 Customer_id 和 Resource popular 的两列显示 Data Resources 列的值。
