You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中按条件返回最大及第二大值对应的行标签(姓名)

Excel 匹配指定列最值对应姓名的解决方案

原始表格

NamePointBonusTotalPos1stName2ndName
Bob1086Point1110
Sue953Bonus129
Joe1124Total107
Susan7910
Tim1124
Ellie987

需求说明

已知G2单元格使用数组公式 {=LARGE(IF($B$1:$D$1 =$F2, $B:$D),1)} 可返回Pos列指定字段(如Point)的最大值,现需:

  • 在H2单元格返回该最大值对应的姓名(如Point最大值11对应Joe)
  • 在J2单元格返回该字段第二大值对应的姓名(如Point第二大值10对应Bob)

实现公式

1. H2单元格(最大值对应姓名)

输入以下数组公式,完成输入后按 Ctrl+Shift+Enter(Excel 2019及更早版本),Excel 365/2021直接回车即可:

{=INDEX($A:$A, MATCH(1, ($B$1:$D$1=$F2)*($B:$D=G2), 0))}

公式逻辑:

  • $B$1:$D$1=$F2 定位Pos指定的目标数据列
  • $B:$D=G2 定位目标列中等于最大值的单元格
  • 两者相乘得到唯一匹配位置,通过MATCH找到行号后,INDEX返回对应姓名

2. J2单元格(第二大值对应姓名)

若已通过I2单元格(如{=LARGE(IF($B$1:$D$1 =$F2, $B:$D),2)})得到第二大值,可使用:

{=INDEX($A:$A, MATCH(1, ($B$1:$D$1=$F2)*($B:$D=I2), 0))}

若无需依赖I2,直接嵌入第二大值计算逻辑:

{=INDEX($A:$A, MATCH(1, ($B$1:$D$1=$F2)*($B:$D=LARGE(IF($B$1:$D$1=$F2, $B:$D),2)), 0))}

同样需按数组公式规则完成输入。

内容的提问来源于stack exchange,提问作者mcclosa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:31:17