使用单个公式在具有不同数据类型的多个列中进行同等排名。可能吗?
Rank equally across multiple columns with different data types using a single formula. Is it possible?
查看下面的数据集。它有 3 列(PTQ、% Growth、$ Growth),所有这些都需要单独排名,然后汇总,然后再次排名以获得每个地区的总实力排名。有什么办法可以用一个公式做到这一点吗?我经常这样做,最好不要每次都单独对所有内容进行排名。基本上我需要在“力量排名”列结束。
澄清一下,我不想在一列上排名第一,然后在另一列上排名第一,它们都需要排在一起。
我们可以使用 Office 365 LET 和 SORT。 RANK不允许使用数组,所以我们需要凑合用MATCH和SORT。
=LET(
ptq,A2:A10,
grwt,B2:B10,
grwthd,C2:C10,
ptqrnk,RANK(ptq,ptq),
gwtprnk,RANK(grwt,grwt),
gwtdrnk,RANK(grwthd,grwthd),
sm,ptqrnk+gwtprnk+gwtdrnk,
MATCH(sm,SORT(sm),0))
我想为非 365 用户添加一个解决方案:
编辑:稍作修改,使返回的排名模仿 RANK
函数的排名,感谢@Scott Craner
=MMULT(N(MMULT(CHOOSE({1,2,3},RANK(A2:A10,A2:A10),RANK(B2:B10,B2:B10),RANK(C2:C10,C2:C10)),{1;1;1})>TRANSPOSE(MMULT(CHOOSE({1,2,3},RANK(A2:A10,A2:A10),RANK(B2:B10,B2:B10),RANK(C2:C10,C2:C10)),{1;1;1}))),ROW(A2:A10)^0)+1
可能需要使用 CTRL+SHIFT+ENTER
提交,具体取决于所使用的 Excel 版本。
静态
{1;1;1}
与正在查询 3 列的事实有关,当然可以用动态替代项替换。
查看下面的数据集。它有 3 列(PTQ、% Growth、$ Growth),所有这些都需要单独排名,然后汇总,然后再次排名以获得每个地区的总实力排名。有什么办法可以用一个公式做到这一点吗?我经常这样做,最好不要每次都单独对所有内容进行排名。基本上我需要在“力量排名”列结束。
澄清一下,我不想在一列上排名第一,然后在另一列上排名第一,它们都需要排在一起。
我们可以使用 Office 365 LET 和 SORT。 RANK不允许使用数组,所以我们需要凑合用MATCH和SORT。
=LET(
ptq,A2:A10,
grwt,B2:B10,
grwthd,C2:C10,
ptqrnk,RANK(ptq,ptq),
gwtprnk,RANK(grwt,grwt),
gwtdrnk,RANK(grwthd,grwthd),
sm,ptqrnk+gwtprnk+gwtdrnk,
MATCH(sm,SORT(sm),0))
我想为非 365 用户添加一个解决方案:
编辑:稍作修改,使返回的排名模仿 RANK
函数的排名,感谢@Scott Craner
=MMULT(N(MMULT(CHOOSE({1,2,3},RANK(A2:A10,A2:A10),RANK(B2:B10,B2:B10),RANK(C2:C10,C2:C10)),{1;1;1})>TRANSPOSE(MMULT(CHOOSE({1,2,3},RANK(A2:A10,A2:A10),RANK(B2:B10,B2:B10),RANK(C2:C10,C2:C10)),{1;1;1}))),ROW(A2:A10)^0)+1
可能需要使用 CTRL+SHIFT+ENTER
提交,具体取决于所使用的 Excel 版本。
静态
{1;1;1}
与正在查询 3 列的事实有关,当然可以用动态替代项替换。