多个 INDEX+MATCH 条目的总和

多个 INDEX+MATCH 条目的总和

如果这是一个重复的问题,请见谅。我有几个包含大量源数据的电子表格,我通常使用 INDEX+MATCH 来找出相应值的源数据,如此处的图表所示,这只是一个例子。

图形: 示例表

示例表如下: https://www.dropbox.com/s/yixftcr83tkoid2/example_sheet.xlsx?dl=0

通常我只需要查看特定月份中某些选定用户的数据,这可以通过 INDEX+MATCH(或 vlookup)来完成,但现在我想在特定月份中为这些选定用户的数据添加总和。在实际工作表中,我有很多选定的用户,也有很多不同的月份需要比较,所以我想避免一遍又一遍地执行 J10 SUM。有什么办法可以做到这一点?(基本上是单个任务,找到 I7-I9 中列出的用户的索引值,然后求和...)

PS 我的索引/匹配的实际列表超过 5,000 行,因此我使用 X:X 进行匹配。

答案1

如果您在某些单元格中写入需要求和的用户和月份,例如:

I6    May
I7    User1
I8    User3
I9    User7
I10   Sum  

在 J10 中你可以写入以下内容:

=SUMIFS(INDIRECT(I6),A:A,I7)+SUMIFS(INDIRECT(I6),A:A,I8)+SUMIFS(INDIRECT(I6),A:A,I9) 

但首先每个月仅定义一次名称:

  • 公式
  • 定义名称
  • 在姓名框中写入 Jan
  • 在 Refers 中写入 =Sheet!$B:$B

对每个月重复相同的操作并更改列引用:

  • 二月 =Sheet!$C:$C
  • 三月 =Sheet!$D:$D
  • 四月 =Sheet!$E:$E
  • 五月 =Sheet!$F:$F
  • Jun =Sheet!$G:$G

现在,每当您将 I6 更改为其他月份时,它都会自动重新计算新月份。每当您更改
I7-I9 中的用户时,公式都会自动重新计算。
间接将 I6 中的值评估为具有相同范围名称的相应列

答案2

  1. 将您需要的月份名称放在单元格上,就像源表格中显示的那样。示例:Mayon I3(更改I3为更合适的单元格)

  2. 将第三个参数更改INDEX为此MATCH($I$3, $B$3:$G$3, 0)

I3基本上,它从表头 ( )中查找指定月份的名称B3:G3并返回列号。它应该看起来像这样:

=INDEX($B$4:$G$12, MATCH(I7, $A$4:$A$12, 0), MATCH($I$3, $B$3:$G$3, 0))

然后您就可以继续查看SUM结果。

相关内容