是不是经常为了:手动调整Excel表格的排序规则,却总达不到理想效果而苦恼?手动排序不仅耗时耗力,还容易出错,影响数据分析的准确性。别担心,表姐教你用SORTBY公式轻松实现自定义排序,让表格数据整理变得高效又精准!
一、SORTBY函数基础用法:升/降序排序
SORTBY函数是Excel新版本中,引入的强大排序工具,它允许用户根据指定的条件对数据进行自定义排序。公式的基本结构为:
=SORTBY(array, by_array1, [sort_order1], [by_array2], [sort_order2], …)
其中,array是要排序的数据区域;by_array1是排序依据的数列;sort_order1是排序方式,默认为1表示升序,-1表示降序。后续参数可继续添加排序数列和排序方式,实现多条件排序。
以工资排序为例,假设我们有一个包含员工姓名、部门、岗位和工资的表格,想要根据工资从低到高进行排序。
只需在空白单元格中输入公式:
=SORTBY(A2:D11,D2:D11)
这里,A2:D11是数据区域,D2:D11是工资数列,由于省略了sort_order参数,默认按升序排列。
如果希望按工资降序排列,只需在公式末尾添加-1,即可实现这个目标!

=SORTBY(A2:D11,D2:D11,-1)
二、SORTBY函数高阶用法:自定义条件排序
SORTBY公式的强大之处在于,它允许用户根据自定义的条件进行排序,而不仅仅是简单的数值或字母顺序。
比如,我们可能希望根据岗位的重要性或特定顺序来排序,而不是按照岗位名称的字母顺序。这时,可以利用MATCH函数结合SORTBY公式来实现:↓
MATCH函数用于查找某个值在数组中的位置,返回其相对位置索引。假设我们有一个岗位优先级列表(K1:K5),想要根据这个列表的顺序对员工数据进行排序。
可以先使用MATCH函数查找每个员工岗位在优先级列表中的位置,然后将这个位置索引作为SORTBY公式的排序依据。具体公式为:
=SORTBY(A2:D11,MATCH(B2:B11,K1:K5,0),1)
这里,B2:B11是员工岗位数列,K1:K5是岗位优先级列表,MATCH函数返回每个岗位在优先级列表中的位置,SORTBY公式则根据这个位置索引进行升序排序。
知识扩展:SORTBY与动态数组的协同
SORTBY公式与Excel的动态数组功能相结合,可以实现更强大的数据处理能力。动态数组允许公式返回一个数组结果,并自动填充到相邻的单元格中。这意味着,我们可以使用SORTBY公式对整个数据集进行排序,而无需手动复制粘贴结果。当原始数据发生变化时,排序结果也会自动更新,保持数据的实时性和准确性。
此外,SORTBY公式还可以与其他动态数组函数(如FILTER、UNIQUE等)结合使用,实现更复杂的数据处理和分析任务。比如,我们可以先使用FILTER函数筛选出满足特定条件的员工数据,然后使用SORTBY公式对筛选结果进行排序;或者使用UNIQUE函数去除重复的员工岗位,再使用SORTBY公式对去重后的岗位进行排序。
总结
SORTBY公式作为Excel新版本中的排序利器,以其强大的自定义排序能力和灵活性,为数据处理和分析带来了革命性的变化。通过掌握SORTBY公式的基础用法、自定义排序条件的应用、复杂排序场景的应对以及与动态数组的协同等技巧,我们可以轻松实现各种复杂的排序需求,提高数据处理的效率和准确性。无论是简单的数值排序还是复杂的多条件排序,SORTBY公式都能游刃有余地应对,让表格数据整理变得高效又精准。