Excel需求:查找红、蓝、绿各组最高得分者姓名(无辅助列)
解决Excel结构化表格中按组提取最高得分者姓名的问题
方案一:XLOOKUP多条件精准匹配
针对你之前XLOOKUP匹配到其他组同分数人员的问题,核心是同时限定分组和最高分两个条件,用数组逻辑生成匹配依据:
=XLOOKUP(1,(Table1[分组]="红")*(Table1[得分]=MAXIFS(Table1[得分],Table1[分组]="红")),Table1[姓名])
- 原理:
(Table1[分组]="红")生成对应红组行的TRUE/FALSE数组,Table1[得分]=MAXIFS(...)筛选出等于红组最高分的行;两者相乘后,只有同时满足两个条件的行返回1,XLOOKUP定位该值对应的姓名,避免跨组匹配。
方案二:修正INDEX/MATCH在结构化表格中的用法
之前的INDEX/MATCH失效是因为未在MATCH阶段限定分组范围,调整后即可适配结构化表格:
=INDEX(Table1[姓名],MATCH(MAXIFS(Table1[得分],Table1[分组]="红"),IF(Table1[分组]="红",Table1[得分]),0))
- 注意:Excel 365/2021版本直接回车即可;旧版Excel需按
Ctrl+Shift+Enter作为数组公式输入。 - 原理:
IF(Table1[分组]="红",Table1[得分])只保留红组的得分数据,其他行返回FALSE,MATCH在这个限定范围内查找最高分的位置,再通过INDEX提取对应姓名。
通用说明
- 将公式中的
"红"替换为"蓝"或"绿",即可提取对应组的最高得分者姓名; - 若同一组存在多个最高分,两个公式均返回该组中第一个出现的姓名;
- 全程使用结构化表格的列引用(如
Table1[姓名]),不要手动替换为普通单元格区域,确保表格扩展时公式自动适配。
内容的提问来源于stack exchange,提问作者Alex Rowe
相关产品推荐
相关产品推荐

