You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel 2010中SUMIF、INDEX MATCH函数应用问题求助

搞定Excel 2010动态匹配列求和的问题

嘿,我明白你现在的困扰——要根据Table_Encounters里的难度值,自动去Table_Players找对应列,然后对O3:O10区域求和对吧?Excel 2010虽然没有后来版本的XLOOKUP这类新函数,但用INDEX+MATCH组合完全能解决这个问题,我给你一步步说清楚:

直接可用的公式(以G3单元格为例)

在G3里输入这个公式就行:

=SUM(INDEX(Table_Players, 3, MATCH(F3, Table_Players[#Headers], 0)):INDEX(Table_Players, 10, MATCH(F3, Table_Players[#Headers], 0)))

为啥这么写?我给你拆解开看

  • MATCH(F3, Table_Players[#Headers], 0):这部分会帮你找到F3里的难度(比如"Hard")在Table_Players表头里的位置,返回对应的列号——比如如果Hard列是第5列,就返回5。
  • 两个INDEX函数:第一个INDEX定位到Table_Players第3行、对应难度列的单元格(也就是你要求和的起点O3),第二个INDEX定位到第10行的对应单元格(终点O10)。
  • SUM包裹起来:把这两个点之间的区域全部加起来,就是你要的结果啦。

要是想对整列求和?有更简单的写法

如果你不需要限定O3:O10,而是想直接对对应难度的整列求和,用这个更简洁的公式:

=SUM(INDEX(Table_Players, , MATCH(F3, Table_Players[#Headers], 0)))

要是公式还出错?检查这几点

  • 先确认Table_Players的表头名称和Table_Encounters里的难度值完全一致!大小写、空格都不能差,比如"Hard"和" hard"会被Excel当成两个不同的东西。
  • 看看Table_Players的表格范围是不是包含了O3:O10,别不小心把表格的边界拉错了。
  • 确保你用的是Excel表格的结构化引用,Table_Players[#Headers]这种写法是对的,别手动输单元格范围搞混了。

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

火山引擎 最新活动