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

Excel MaxIF与Vlookup组合公式需求:按列匹配最大值对应值

嘿,刚好碰到过类似的需求,给你整理两种适配不同Excel版本的解决方案,直接套用就行:

方案1:Excel 365/2021及以上(支持动态数组)

如果你的Excel版本支持动态数组函数,操作会更简洁:

  1. 先提取Column1的所有唯一值(假设数据在A:C列,把结果放在D列):
    =UNIQUE(A:A)
    
  2. 接着在E列对应位置输入公式,自动匹配每个唯一值对应的目标Column2值:
    =XLOOKUP(MAXIFS(C:C, A:A, D2), C:C, B:C, "", 0, 1)
    
    要是用动态数组溢出的话,甚至可以把两个步骤合并成一个公式:
    =LET(
        unique_ids, UNIQUE(A:A),
        max_vals, MAXIFS(C:C, A:A, unique_ids),
        XLOOKUP(max_vals, C:C, B:C, "", 0, 1)
    )
    
    公式说明:
    • UNIQUE(A:A):快速提取Column1里的不重复分组值
    • MAXIFS(C:C, A:A, unique_ids):针对每个分组,找出Column3的最大值
    • XLOOKUP:根据最大值反向匹配对应的Column2内容,最后一个参数1表示返回第一个匹配到最大值的Column2值,改成-1就能返回最后一个匹配值
方案2:旧版Excel(不支持动态数组)

如果是Excel 2019及更早版本,用经典的INDEX+MATCH组合:
假设你要在D2单元格输入公式,下拉填充到所有行:

=INDEX(B:B, MATCH(MAXIFS(C:C, A:A, A2), C:C, 0))

要是需要返回同一最大值对应的最后一个Column2值,换成LOOKUP公式更稳妥:

=LOOKUP(2, 1/(C:C=MAXIFS(C:C, A:A, A2)), B:B)

公式说明:

  • MAXIFS(C:C, A:A, A2):定位当前行Column1对应的Column3最大值
  • MATCH/LOOKUP:找到该最大值在Column3中的位置,再返回Column2对应内容

注意事项

  • 建议把公式里的整列范围(比如A:A)改成实际数据的范围(比如A2:C100),这样公式运行更高效
  • 如果分组里没有对应数据(比如Column1有空白值),可以给公式加个错误处理,比如把""换成IFERROR(..., "无数据")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:34:29