大家好,我是孙斌!日常做 Excel 表格,数据排序是必做操作,很多人还在手动调整行列顺序,既麻烦又容易出错。今天给大家分享两个排序神器:SORT 函数和 SORTBY 函数。
下面给大家整理了工作中最常用的 4 种用法,学会之后各类数据排序都能一键搞定!
1、基础用法
有以下数据表格,需要按照金牌数降序排列。

直接使用sort函数,公式如下。
=SORT(A2:D11,2,-1)

公式中第1个参数指定排序区域,第2个参数2表示按照这个区域中的第2列排序,第3个参数-1表示降序排列。
如果用sortby函数排序也可以,公式如下。
=SORTBY(A2:D11,B2:B11,-1)

第2个参数需要选择B列,表示按照B列排序。
总结:两者都是专门用来自动排序,区别在于:SORT 靠指定列索引排序,SORTBY 靠选定列区域排序。
2、多条件排序
需求变一下,将表格按照金牌数降序排列,如果金牌数相同,则按照银牌数降序排列。
使用sort函数公式如下。
=SORT(A2:D11,{2,3},{-1,-1})

这里第2个参数通过数组的形式指定按照第2列和第3列排序,第3个参数都是-1表示都按降序排列。
如果用sortby函数,公式如下。
=SORTBY(A2:D11,B2:B11,-1,C2:C11,-1)

写法有些变化,需要按照哪些列排序,选择即可,后面跟的-1表示降序排列。
3、排序并选择列
有时候排序后,只需要某些列,而不是整个原始数据区域,这时候可以搭配hstack或者choosecols。
比如,将以下数据按照3月的数据降序排列,并且只选取姓名和3月列。
可以用hstack和sort搭配,用hstack函数将姓名列和3月列水平连接,再用sort函数降序排序。

当然也可以用sort和choosecols搭配,选用sort函数整体排序,再用choosecols函数选取第1列和第4列。

4、sort函数搭配控件使用
学会了sort函数后,还可以将sort函数搭配控件使用,制作下面这种图表,选择需要排序的字段。

上面这个控件叫做列表框,可以进行单选,设置数据源区域和单元格链接。

然后将sort函数的第2个参数去引用这个单元格就可以实现动态排序。
当然也可以用单选按钮制作这种动态排序的效果。
夜雨聆风