多维排名难题难破解?RANK函数不够用,组合函数轻松应对

来源:本站整理 作者:网络笔记

最佳答案一、数据类排名当需要先按总分排序,总分相同时再依据客户满意分排序,可采用以下几种方式:方法一:加权合并法新增辅助计算列,将主要排序列的值扩大一定倍数(例如1000倍),再与次要排序列的值相加得到新数据,随后用RANK函数对新数据进行排序。比如,把总分扩大1000倍后与客户满意分相加,此时使用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)。这种方法相对复杂,日常使用较少,可作为知识储备了解。

网络笔记 学习文库

我这一生没什么理想,能治愈我的,从来都不是时间,而是内心的那份释怀和明白!

热门分类

热门工具

联系客服QQ:+