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

根据下拉列表匹配目标列,动态求和该列前4个最大值

自动匹配年份列并求和前4个最大值的Excel解决方案

通用公式(兼容所有Excel版本)

使用SUMPRODUCT+LARGE+INDEX+MATCH组合实现需求,公式如下:

=SUMPRODUCT(LARGE(INDEX($B:$Z,,MATCH(A1,$B$1:$Z$1,0)),ROW(INDIRECT("1:4"))))

各函数作用:

  • MATCH(A1,$B$1:$Z$1,0):定位A1单元格指定年份在表头行($B$1:$Z$1)对应的列序号
  • INDEX($B:$Z,,[列序号]):提取该年份对应的整列数据
  • LARGE([目标列],ROW(INDIRECT("1:4"))):提取目标列的前4个最大值
  • SUMPRODUCT:对提取出的4个最大值求和

简化公式(仅适用于Excel 365/2021及以上版本)

利用动态数组函数FILTER和SEQUENCE简化写法:

=SUM(LARGE(FILTER($B:$Z,$B$1:$Z$1=A1),SEQUENCE(4)))

各函数作用:

  • FILTER($B:$Z,$B$1:$Z$1=A1):直接筛选出表头与A1年份匹配的列
  • LARGE([筛选结果],SEQUENCE(4)):生成1-4的序列,提取对应位次的最大值
  • SUM:对这4个最大值求和

注意事项

  • 请根据实际表格调整公式中的表头范围$B$1:$Z$1和数据列范围$B:$Z,确保覆盖所有年份列及对应数据
  • 若目标年份列的有效数据不足4个,通用公式会返回#NUM!,可添加IFERROR处理,示例:
=IFERROR(SUMPRODUCT(LARGE(INDEX($B:$Z,,MATCH(A1,$B$1:$Z$1,0)),ROW(INDIRECT("1:4")))),SUM(INDEX($B:$Z,,MATCH(A1,$B$1:$Z$1,0))))

动态数组版本的处理公式:

=IFERROR(SUM(LARGE(FILTER($B:$Z,$B$1:$Z$1=A1),SEQUENCE(4))),SUM(FILTER($B:$Z,$B$1:$Z$1=A1)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:20:45