在日常工作和学习中,员工绩效考核、学生成绩排名等场景常需要用到“排名”操作。单维度排名用RANK函数或直接排序即可,但多维度排名,比如绩效总分相等时按客户满意度评分排名、业绩总分相等时按投诉次数降序排列等情况,单靠RANK函数就不行了。那该如何用Excel公式RANK函数组合自动实现呢?下面就为你介绍具体方法。
一、数据类排名
当需要先按总分排序,总分相同时再依据客户满意分排序,可采用以下几种方式:
方法一:加权合并法
新增辅助计算列,将主要排序列的值扩大一定倍数(例如1000倍),再与次要排序列的值相加得到新数据,随后用RANK函数对新数据进行排序。比如,把总分扩大1000倍后与客户满意分相加,此时使用RANK函数对该合并结果排序,公式为=RANK(G2,$G$2:$G$14)。
方法二:RANK与COUNTIFS组合法
先利用RANK函数对主序列进行排名,对于排名相同的数据,再借助COUNTIFS函数按照副序列重新确定名次。公式设置为:
=RANK(F2,$F$2:$F$14)+COUNTIFS($F$2:$F$14,”=”&F2,$E$2:$E$14,”>”&E2)。
此外,使用COUNTIF函数也能实现类似效果,逻辑基本一致。
方法三:SUM或SUMPRODUCT函数法
把SUM函数和加权思路结合,将总分乘以1000后与客户满意分相加生成新序列,通过逻辑判断得出比当前行数值大的数据个数,再加1就是该数据的排名。公式为:
=SUM(–(($F$2:$F$14*1000+$E$2:$E$14)>F2*1000+E2))+1。
这里的SUM函数也可替换为SUMPRODUCT函数。
二、文字类排名
上面的方法适用于数据排序,而在有些场景中,比如给活动批量安排位置,需要先按班级排序,再在同班级内按姓名排序并统计每位同学的名次,这时可采用以下方法:
方法四:MATCH、CHOOSECOLS与SORTBY组合法
先通过SORTBY函数对两列文字数据执行降序排列,再用BYROW和CONCAT函数将排序后同一行的数据拼接起来,最后用MATCH函数进行数据匹配得出排名。公式为:=MATCH(A2&B2,BYROW(SORTBY($A$2:$B$14,$A$2:$A$14,-1,$B$2:$B$14,-1),CONCAT),0)。这种方法相对复杂,日常使用较少,可作为知识储备了解。
结语
学会这些Excel公式方法,无论是数据类还是文字类的多维度排名问题都能轻松解决。它们能帮你省去大量手动操作的时间,让工作和学习中的排序任务更高效,即使面对复杂的排序需求,也能快速应对,提升整体处理效率。