Applies ToMicrosoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版 Excel 2021 Excel 2021 for Mac Excel for iPad Excel for iPhone Excel for Android 平板电脑版 Excel for Android 手机版

SORTBY 函数基于相应范围或数组中的值对范围或数组的内容进行排序。

你的浏览器不支持视频。 请安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

在此示例中,我们按照人员年龄对人员姓名列表进行升序排列。

使用 SORTBY 对某一范围进行排序。 在本例中,我们使用 =SORTBY(D2:E9,E2:E9) 按照人员年龄对人员姓名列表进行升序排序。

=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 与 RANDARRAY 和 COUNTA 配合使用。 在本例中,E2# 引用从单元格 E2 开始的整个范围,因为该范围使用 =SEQUENCE(10) 填充。 # 符号称为溢出范围运算符。

使用 SORTBY 按照高温对温度和降水值表格进行排序。

使用 SORTBY 按照高温对温度和降水值表格进行排序。

错误条件

  • By_array 参数必须为一行高或一列宽。

  • 所有参数必须大小相同。

  • 如果排序顺序参数不为 -1 或 1,则公式将导致 #VALUE! 错误。 如果省略排序顺序参数,Excel 将默认为升序。

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家或在社区中获取支持。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

UNIQUE 函数

#溢出! 错误

动态数组和溢出数组行为

绝对交集运算符: @

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。