排序这件事,很多人还停留在选中数据、点"排序"按钮、选升序降序的老办法。问题是这种排序是"一次性"的——原始数据一变,排好的顺序就乱了,你得重新再排一遍。
如果你用的是新版 Excel(Microsoft 365 或 2021 及以上),有个更省心的做法:SORT 函数。它排出来的结果会跟着源数据自动更新,数据一改,排序立刻跟上,一劳永逸。
SORT 函数长什么样
它的基本写法是这样的:=SORT(数据区域, 按第几列排, 升序还是降序)
拆开来看三个参数:
- 数据区域:你要排序的那片单元格,比如
A2:C10 - 按第几列排:从区域左边数,按第几列作为排序依据,填数字。比如按第 2 列排就填
2,不填默认按第 1 列 - 升序还是降序:
1是升序(从小到大),-1是降序(从大到小),不填默认升序
举个最常见的例子
假设 A 列是姓名,B 列是销售额,你想按销售额从高到低排。在旁边空白单元格输入=SORT(A2:B10, 2, -1)回车,一整片排好序的结果就自动"溢出"到下方了。你不用选中一堆单元格,只在一个格子里写公式,结果自己铺开。
💡 这就是新版 Excel 的"动态数组"特性:一个公式吐出一整片结果,结果区域会自动扩展,被称为"溢出"。你会看到结果周围有一圈淡淡的蓝框。
关键在于:以后 B 列的销售额只要一变,右边排好的名次会立刻重新调整,完全不用你再动手。
想按多个条件排怎么办
比如先按部门排,同一部门内再按销售额从高到低。这时候用 SORT 的兄弟函数 SORTBY 更顺手:=SORTBY(A2:C10, B2:B10, 1, C2:C10, -1)
意思是:先按 B 列升序,B 列相同的再按 C 列降序。参数是"一列 + 排序方向"成对出现,想加几层条件就往后接几对。
配合筛选一起用更强
SORT 常常和 FILTER 函数搭档。比如你只想看销售额大于 5000 的人,并且按金额从高到低排:=SORT(FILTER(A2:B10, B2:B10>5000), 2, -1)
里层 FILTER 先筛出符合条件的行,外层 SORT 再排序。一个公式同时完成"筛选 + 排序",数据一更新两件事全自动跟上。
几个要注意的地方
⚠️ SORT 是新函数,只在 Microsoft 365 和 Excel 2021 及以上版本才有。如果你用的是 2019 或更早版本,输入会报 #NAME? 错误,这种情况只能继续用传统排序按钮。- 别在结果区域里手动填东西:溢出结果下方的格子会被公式占用,如果那些格子里已经有内容,会报
#SPILL!错误。清空挡路的单元格即可 - 结果是"活的",不能直接改:SORT 出来的是公式结果,你不能单独修改其中某个格子。要改就改源数据
- 想要静态结果:如果你希望排完就固定下来,可以选中结果、复制,再用"选择性粘贴 → 值"贴成普通数据
💡 小结:一次性看看就好,用传统排序;需要长期跟着数据自动更新,用 SORT。选对工具,排序这活儿就再也不用反复重来了。
夜雨聆风