按自定义序列排序
如下图,A~C列是一些员工信息,希望按照E列指定的部门顺序进行排序,同一部门的,再按年龄从大到小排序。
先将标题复制到右侧的空白单元格内,然后在第一个标题下方输入公式:
=SORTBY(A2:C17,MATCH(B2:B17,E2:E6,),1,C2:C17,-1)
公式中的MATCH(B2:B17,E2:E6,)部分,分别查询B列部门在E1:E6区域中的位置,结果是这样的:
{2;2;3;3;3;5;5;5;5;5;1;1;4;4;4;4}
这一步的目的,实际上就是将B列的部门变成了E列的排列顺序号。财务部变成了2,采购部变成了3,仓储部变成了5……
接下来的过程就清晰了:
SORTBY的排序区域为A2:C17单元格中的数据,排序依据是优先对部门顺序号升序排序,再对年龄执行升序排序。