参照下图,我们面对的是某公司的销售数据表。我们的目标是按照每个部门的员工销量进行排名。
请全选整个表格区域,随后点击【数据】菜单,选择【排序】功能。将表格按照部门进行升序排列,操作如示意图所示。
完成部门排序后,我们在D2单元格中输入以下公式:=RANK(C2, OFFSET(C$1, MATCH(A2, $A$2:$A$17, 0), 0, COUNTIF($A$2:$A$17, A2))
将此公式从D2单元格开始往下拉,直至填充至表格的底部,即可顺利完成各部门的员工销量排名。
接下来,让我们简要解析一下这个公式的工作原理。
首先是MATCH函数,它能在指定的范围(本例中是$A$2:$A$17)内查找特定的项(本例中是A2单元格的值),并返回该项在此区域中的相对位置。当MATCH函数的第三个参数为0时,它将返回查找值在区域中第一次出现的位置。
在本文的语境中,【MATCH(A2, $A$2:$A$17, 0)】的作用就是找到各组别在列表中第一次出现的位置。
紧接着,【COUNTIF($A$2:$A$17, A2)】的作用是计算各组别在列表现的次数。为了便于理解,你可以在单元格中输入COUNTIF($A$2:$A$17, A2),得到的结果如图所示。
然后,我们使用OFFSET函数来提取各部别员工的销量数据。
RANK函数被用来表达各员工在其所在部门内的排名。