废话少说,直接上图,下面这个需求,在没有排序函数之前,做起来很麻烦,有了SORTBY函数,就很简单了
需求描述:
对数据区A1:D14按部门排序,排序参考右侧已经定义好的部门列顺序,当右侧顺序改变后,下方排序结果区要跟随一起马上改变排序。
函数解决方案
在A15输入以下函数公式
=SORTBY(A2:D11,MATCH(B2:B11,F:F,0))
参数解释
A2:D11:
这是要排序的数组或区域。在这个例子中,A2:D11 包含了需要排序的数据区域。
MATCH(B2:B11, F:F, 0):
MATCH 函数用于查找 B2:B11 区域中的每个值在 F:F 列中的位置。
B2:B11 是要查找的值的区域。
F:F 是查找的范围,即 F 列。
0 表示精确匹配。
工作原理
MATCH 函数:
MATCH(B2:B11, F:F, 0) 会返回一个数组,数组中的每个元素表示 B2:B11 区域中的值在 F:F 列中的位置。
例如,如果 B2 的值在 F 列中的第 3 行,那么 MATCH 函数会返回 3。
SORTBY 函数:
SORTBY 函数会根据 MATCH 函数返回的位置数组对 A2:D11 区域进行排序。
排序的顺序是升序,因为 MATCH 函数返回的位置数组是按升序排列的。