Excel 2013:INDEX+MATCH单公式排序重复值问题求助
Excel 2013 解决INDEX+MATCH重复排序值返回重复结果的问题
原公式遇到相同分数的记录时,无法区分不同条目,导致重复返回第一个匹配项。以下是适配Excel 2013的解决方案:
方案一:给分数添加唯一标识(数组公式)
通过给相同分数附加基于行号的小数,让每个分数变成唯一值,确保LARGE能按顺序取到不同记录:
=IFERROR(INDEX($D$3:$D$10, MATCH( LARGE(IF($C$3:$C$10=$F$3,$B$3:$B$10+(ROWS($B$3:$B$10)+1-ROW($B$3:$B$10))/10000),ROWS($1:1)), IF($C$3:$C$10=$F$3,$B$3:$B$10+(ROWS($B$3:$B$10)+1-ROW($B$3:$B$10))/10000), 0 ) ),"")
- 使用说明:将公式输入到结果单元格后,按 Ctrl+Shift+Enter 触发数组公式,再下拉填充即可。
- 原理:相同分数下,行号越小的条目附加的小数越大,LARGE会优先取到行号小的记录,实现相同分数下按原始顺序返回不同姓名。
方案二:结合AGGREGATE与COUNTIF(数组公式)
通过COUNTIF统计当前分数下已返回的记录数,确保相同分数能依次输出:
=IFERROR(INDEX($D$3:$D$10, AGGREGATE(15,6, (ROW($D$3:$D$10)-ROW($D$2))/ (($C$3:$C$10=$F$3)*($B$3:$B$10=LARGE(IF($C$3:$C$10=$F$3,$B$3:$B$10),ROWS($1:1))))/ (COUNTIF($D$3:$D$10,$D$3:$D$10)>=ROWS($1:1)-SUM(--($B$3:$B$10>LARGE(IF($C$3:$C$10=$F$3,$B$3:$B$10),ROWS($1:1))))) ,1) ),"")
- 使用说明:同样需要按 Ctrl+Shift+Enter 输入数组公式,再下拉填充。
两种方案都能解决重复分数下返回重复结果的问题,测试后可根据实际数据选择适配的公式。
内容的提问来源于stack exchange,提问作者Blue Sky
相关产品推荐
相关产品推荐

