SORTBY 函数

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

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

注意: 2018年9月24日: SORTBY 函数是几个 beta 功能之一,目前仅适用于Office 预览体验成员的一部分。 我们将在未来的几个月里继续优化这些功能。 准备就绪后,我们会向所有 Office 预览体验成员和 Office 365 订阅者发布该功能。

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

使用 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 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

动态数组和溢出数组行为

绝对交集运算符: @

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×