“把这张表,先按销售额降序,再按日期升序排一下。”
在过去的Excel里,完成这个指令意味着:要么多次点击排序按钮,要么写一段复杂的公式嵌套。
如果你也有过这种抓狂瞬间,那么今天的内容,将为你省下未来90%的重复劳动时间。
在动态数组函数的世界里,SORT和 SORTBY就像一对孪生兄弟,功能相似,但性格迥异。用一张表让你立刻明白:

简单来说:
用 SORT, 你是对着数据本身说:“按 “销售额” 给我排。”
用 SORTBY, 你是指挥另一个裁判说:“按 ‘毛利率’ 高低顺序,给我排这个表。”
先掌握 SORT,它是理解动态数组排序的基石。
= SORT(array, [sort_index], [sort_order], [by_col])array: 要排序的区域或数组。
[sort_index]: (可选)用数字指定按第几列/行排。省略则默认按第一列。
[sort_order]: (可选)1表示升序 (A-Z),-1表示降序 (Z-A)。省略则默认升序。
[by_col]: (可选)FALSE或省略表示按行排序(常见);TRUE表示按列排序(少用)。
假设你有如下销售表 (A2:D11):

目标:生成一个实时按销售额从高到低自动排序的榜单。
= SORT(A2:D11, 3, -1)公式解释:对区域A2:D11排序,按第3列(销售额),顺序为-1(降序)。
结果:上海店(79100)会排在第一行:

最重要的是,当源数据 A2:D11中的任何数字改变,这个排序榜单会自动、实时更新,无需任何手动操作!
= SORTBY(array, [by_array1], [order1],[by_array2], [order2], ...)
array: 要返回并排序的主区域。
by_array1: 第一个排序依据区域(大小需与array行数或列数一致)。
[order1]: 对应by_array1的排序顺序,同上。
可无限追加 by_array2, order2... 实现多条件排序。
要求:先按“组别”字母升序排,同组内再按“销售额”降序排。
= SORTBY(A2:D11, A2:C11, 1, C2:C11, -1)公式解释:
A2:D11是我们要排序并返回的主表。
第一条件:A2:C11( 组别),1(升序,A-Z)。
第二条件:C2:C11(销售额),-1(降序,从高到低)。
结果:所有“A”组会排在“ B”前面。在“A”内部,店铺会按销售额从高到低排列。逻辑无比清晰!

这是 SORTBY封神的地方。比如,你想按“毛利率”排序,但原始表里只有“零售价”和“成本”。

常规做法是在后面添加一列辅助列,先计算出毛利率,再排序,但是强大的SORTBY函数可以直接在公式中算出毛利同时进行排序:
= SORTBY(A2:D11, (D2:D11 - C2:C11) / D2:D11, -1)公式解释:
排序依据 (D2:D11 - C2:C11) / D2:D11是一个动态计算的利润率数组,它并不存在于物理表格中。
SORTBY能使用这个“虚拟列”进行排序,而 SORT函数无法直接做到。

要求:获取 A 组中销售额大于 50000 的店铺明细
这是动态数组函数的王牌组合,实现“筛选+去重+排序”一条龙。

= SORT(FILTER(A2:D11, (A2:A11="A")*(C2:C11>50000)),3, -1)
公式拆解(从内到外理解):
FILTER(...): 先筛选出“A”组且“销售额>5万”的所有记录。
SORT(..., 3, -1): 最后将结果按第3列(销售额)降序排列。

一行公式,替代了以往需要“高级筛选+排序”多个步骤的繁琐操作,且结果动态更新!
“溢出”是灵魂:这两个函数的结果会自动填充相邻单元格,形成一个动态数组区域。确保结果区域下方有足够空格。
**#SPILL!错误怎么办?**这表示溢出区域被阻挡。清除结果区域下方的单元格内容即可。
**如何固定表头?** 这两个函数处理的是纯数据。通常用法:A1单元格写标题,从A2开始用=SORT(原始数据表, ...)。或者用VSTACK函数拼接表头。
SORT与 SORTBY如何选?
单条件、排自己 --> 用 SORT, 语法简洁。
多条件、按计算列、跨区域 -> 毫不犹豫用 SORTBY。
📌 可能有些人就问了,明明可以用菜单栏的“排序来搞定的,为什么还要学新函数,搞得这么复杂?
重点:Excel的排序是一个“破坏性”操作。一旦排序,所有基于固定单元格引用的公式(如VLOOKUP(A2, ...))可能全部错乱。
现在,SORT/SORTBY是一个“建设性”操作:
源数据纹丝不动,保持纯净。
在另一个地方,生成一个动态的、镜像的、有序的视图。
所有公式引用依然指向固定的源数据,绝对安全。
更为重要的是,这两个函数在 WPS 中也能用,使用方法一模一样,完全不必担心 Excel 未激活或者 Excel版本太低不能用的问题
这改变了我们构建报表的逻辑:一份干净的“数据源” + 多个由SORT/FILTER等生成的“动态视图” = 一个健壮、自动化的报表系统。
💬 感谢支持
如果这篇让你搞懂了SORT和SORTBY的区别,请务必点赞、在看、收藏三连,你的支持是我分享的最大动力!
👇 查看更多效率神技
点击下方名片,关注【Excel进化论】,下一个升职加薪的,就是你。