模版广场
AI工具
教程中心
推荐
hotbox
免费试用
userIcon
language简体中文

Excel数据更新就得重新排序?SORTBY函数帮你搞定动态排序

Excel数据更新就得重新排序?SORTBY函数帮你搞定动态排序

分类专栏 - Excel技巧 - Excel数据更新就得重新排序?SORTBY函数帮你搞定动态排序
date2026-06-25
viewNum0

Excel里做数据排序,大家最熟悉的是【数据】选项卡下的排序按钮。

选中区域、设置条件、点击确定,几步就完成了。

基础排序功能

这种方式处理一次性整理没有问题,但如果数据会持续更新,每次都要重复操作就很低效,比如:

  • 每个月做销售统计,数据录入完之后还得按业绩从高到低重新排一遍,下个月换了新数据,同样的事情再来一次。
  • 公司人员有变动,花名册调整完,之前的排序又乱了。

这些需要反复操作的Excel排序场景,其实可以换个思路来解决,比如用SORTBY函数来替代手动操作。

一、SORTBY函数是什么

简单来说,SORTBY函数的作用是对数据区域进行排序,并返回排序后的结果。

它的特别之处在于排序结果是动态的——原始数据发生变化时,排序结果会自动更新,不需要重新操作。

这个函数在Excel 2021、Office 365和新版WPS中都可以使用。

函数的基本语法为:

=SORTBY(要排序的区域, 依据哪一列排, 升序或降序)

SORTBY函数

升序写1,降序写-1,不写的话默认按升序排。

二、单条件排序

一张员工信息表在A2到D11区域,想按D列的年龄从小到大排列,公式这样写:

=SORTBY(A2:D11,D2:D11,1)

excel单条件排序

A2:D11是要排序的数据范围,D2:D11是排序参考列,1代表升序。

公式写完按回车,排序结果会自动显示在旁边的空白区域。原始数据的位置和顺序不会改变。

三、多条件排序

先按部门分组,再在同部门内按年龄从大到小排列。假设部门在B列,年龄在D列,公式调整为:

=SORTBY(A2:D11,B2:B11,1,D2:D11,-1)

excel多条件排序

这个写法里,SORTBY函数先处理第一个排序条件(B列升序),再处理第二个(D列降序)。

排序依据列不一定要包含在要排序的区域里,这点在实际使用中比较灵活。

四、自定义排序

部门排序通常不按字母顺序,而是按“财务部、市场部、技术部”这样的固定顺序。

单纯靠升序或降序实现不了,需要配合MATCH函数使用。

=SORTBY(A2:C17,MATCH(B2:B17,E2:E6, ),1,C2:C17, -1)

MATCH函数把部门名称转换成一串数字——财务部变成1,市场部变成2,以此类推。

SORTBY函数根据这串数字排序,就实现了自定义顺序。

五、随机排序

面试顺序安排、抽奖名单准备,需要把原有顺序打乱。SORTBY函数配合RANDARRAY函数可以实现:

=SORTBY(A2:B11, RANDARRAY(10), 1)

RANDARRAY(10)生成10个随机数,SORTBY函数根据这些随机数重新排列数据。每次表格重新计算,顺序都会变化。

六、使用SORTBY函数的几个注意点

第一,版本支持。SORTBY函数需要Excel 2021、Office 365或新版WPS,旧版本无法使用。

第二,报错处理。如果结果区域被其他内容占用,会提示#SPILL!错误,清空周围单元格即可。

第三,不改变原始数据。SORTBY函数在别处生成排序结果,原始数据保持不变。如果需要在原位置排序,还是用基础排序功能。

七、两种Excel排序方式怎么选

基础排序功能操作直观,适合临时整理数据、不需要重复操作的场景。

SORTBY函数适合数据持续更新、希望排序结果自动跟随的场景。

两种方式可以搭配使用——做报表时用SORTBY函数写公式,日常快速浏览时用基础排序。

掌握SORTBY函数,处理需要反复排序的表格时能省下不少时间,写一次公式,后面数据变动结果自动更新,不用再来回点排序按钮了。