Excel 按多个等级字母排序

Excel 按多个等级字母排序

感谢您的阅读。我想按年级对 Excel 数据进行排序。例如:

Ryan   A   B   C
Mel    B   C   C
Roy    A   A   B

结果将变成:

Roy
Ryan
Mel

Roy 位居榜首,因为他的 A 和 B 成绩较多,以此类推

感谢所有人,特别是 Mark Fitzgerald、Rajesh S 和 robinCTS

这就是真实数据的样子,分数和等级也会显示在表上。

在此处输入图片描述

答案1

编辑:已更新以匹配 OP 的工作表。


仅使用一个辅助列就可以解决这个问题:

工作表截图

在 中输入以下公式K5,然后按 ctrl-enter/复制-粘贴/向下填充到 中K5:K8

=SUMPRODUCT(($B5:INDEX(5:5,COLUMN()-1)={"A";"B";"C"})*(COLUMNS($B5:$J5)-1)^{2;1;0})

Score然后按列从大到小对表进行排序。


如果成绩列的数量永远不会改变(在您的情况下看起来不会改变),或者您不介意手动调整公式,则可以使用以下更简单的公式:

=SUMPRODUCT(($B5:$J5={"A";"B";"C"})*5^{2;1;0})

此公式中的比5成绩列数多一。


解释:

该公式通过创建和求和加权等级数组来发挥作用。

笔记:

  • 如果添加或删除成绩列,第一个公式会自动调整。
  • 除非在列的左侧立即插入一列Score,否则第二个公式也会自动调整。
  • 这两个公式都可以修改,以允许更多的等级,例如,添加“D”级,将更改为{"A";"B";"C"}{"A";"B";"C";"D"}并将{2;1;0}更改为{3;2;1;0}

答案2

在此屏幕截图中,可以将 E2 中的公式复制到其他分数单元格。然后可以按降序对分数总数进行排序,以获得您的排名。

按等级排序

CHOOSE(MATCH(E$1,$E$1:$G$1,0),3,2,1)在这个特定的公式中返回 3,因为它Score A位于 3 个标题中的第一个位置。

相关内容