使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

SORT 函数可对某个区域或数组的内容进行排序。 

在此示例中,我们使用 =SORT(A2:A17) 并复制到单元格 F2、H2 和 J2,分别按“区域”、“销售代表”和“产品”进行排序。

使用 SORT 函数对一定区域内的数据进行排序。 此处我们使用 =SORT(A2:A17) 对“地区”进行排序,然后复制到单元格 H2 和 J2,以对“销售代表姓名”和“产品”进行排序。

SORT 将返回数组中排序的元素数组。 返回的数组与所提供的数组参数的形状相同。 

=SORT(array,[sort_index],[sort_order],[by_col])

参数

描述

array

必需

要排序的区域或数组

[sort_index]

可选 

一个数字,表示要按其排序的行或列

[sort_order]

可选

一个数字,表示所需的排序顺序;1 表示升序(默认值),-1 表示降序

[by_col]

可选

一个逻辑值,指示所需的排序方向;False 表示按行排序(默认值),True 表示按列排序

注意: 

  • 如果未提供 sort_index,将假定使用 row1/col1。 如果未提供顺序,将假定使用升序排序。 默认情况下,Excel 将按行排序,并且仅当 by_col 为 True 时按列排序。 如果 by_col 为 False 或缺失,Excel 将按行排序。

  • 提供 SORT 函数,以对数组中的数据排序。 如果想要对网格中的数据排序,最好使用 SORTBY 函数,因为它更灵活。 SORTBY 将尊重列添加/删除,因为在它引用的区域中,SORT 引用列索引号。

  • 可将数组视为一行值、一列值或几行值和几列值的组合。 在上述示例中,SORT 公式的源数组为范围 A5:D20。

  • SORT 函数将返回一个数组,如果该数组是公式的最终结果,则将溢出。 这意味着,当按“Enter”时,Excel 将动态创建相应大小的数组范围。 如果支持数据位于 Excel 表格中,若使用结构化引用,则从数组范围中添加或删除数据时,数组将自动重设大小。 有关详细信息,请参阅关于溢出数组行为的此文章。

  • Excel 对工作簿之间的动态数据提供有限支持,并且仅当这两个工作簿时都处于打开状态时才支持此方案。 如果关闭源工作簿,刷新时,任何链接的动态数组公式都将返回 #REF! 错误

示例

按降序对一定范围的值进行排序。

按降序对一定范围的值进行排序。

将 SORT 和 FILTER 一起使用,按升序对一定范围的值进行排序,且值必须超过 5,000。

将 SORT 和 FILTER 一起使用,按升序对一定范围的值进行排序,且值必须超过 5,000。

需要更多帮助吗?

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

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

动态数组和溢出数组行为

绝对交集运算符: @

需要更多帮助?

需要更多选项?

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

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

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×