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

如何用Excel VLOOKUP匹配行查找最值并返回对应首列内容

用Excel查找成绩最大/最小值对应的学科名称方案

方法一:VLOOKUP配合辅助列(适配所有Excel版本)

假设你的数据结构如下:

A列:学科名称(MATHS、ENGLISH)
B-E列:1st Sem到4th Sem的成绩
数据范围:A2:E3

  1. 添加辅助列

    • 在F2单元格输入公式:=B2&"|"&$A2,按回车后横向填充到I2(对应B到E列),再下拉到F3:I3。这个公式会把每门成绩和对应学科用|连接,比如85|MATHS。
  2. 查找最大值对应学科
    在空白单元格输入以下公式:

    =RIGHT(VLOOKUP(MAX(B2:E3),F2:I3,1,FALSE),LEN(VLOOKUP(MAX(B2:E3),F2:I3,1,FALSE))-FIND("|",VLOOKUP(MAX(B2:E3),F2:I3,1,FALSE)))
    

    逻辑:先用VLOOKUP找到最大分数对应的合并字符串,再通过FIND定位分隔符|的位置,最后用RIGHT提取出后面的学科名称。

  3. 查找最小值对应学科
    把公式里的MAX替换成MIN即可:

    =RIGHT(VLOOKUP(MIN(B2:E3),F2:I3,1,FALSE),LEN(VLOOKUP(MIN(B2:E3),F2:I3,1,FALSE))-FIND("|",VLOOKUP(MIN(B2:E3),F2:I3,1,FALSE)))
    

方法二:INDEX+MATCH组合(无需辅助列,更简洁)

如果不想用辅助列,推荐用INDEX+MATCH的组合方案,适配多数Excel版本:

  1. 最大值对应学科

    =INDEX(A:A,SUMPRODUCT((B2:E3=MAX(B2:E3))*ROW(B2:E3)))
    

    逻辑:SUMPRODUCT会找到所有等于最大值的单元格所在行号,返回最后一个匹配行的学科;如果要返回第一个匹配的学科,把SUMPRODUCT替换为MIN(IF(B2:E3=MAX(B2:E3),ROW(B2:E3),0)),旧版Excel中需要按Ctrl+Shift+Enter作为数组公式输入。

  2. 最小值对应学科
    同样把MAX替换成MIN:

    =INDEX(A:A,SUMPRODUCT((B2:E3=MIN(B2:E3))*ROW(B2:E3)))
    

注意事项

  • 如果存在多个相同的最大/最小值,上述方法会返回第一个或最后一个出现的学科,可根据需求调整公式中的MIN/MAX来切换。
  • 确保数据范围引用准确,避免包含空值或非数值单元格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:45:13