使用 SUMIFS 对与另一个条件匹配的列中与一个条件匹配的所有行求和

Using SUMIFS to sum all rows matching one criteria within a column matched by another criteria

我认为我非常接近我想要的,但我仍然收到 #N/A 错误 -

我有一些工资 sheet 交叉引用了一项工作 table 'Table1',它存储了我的员工的信息(支付代码、地点、合同工时等)。在 Table1 中,我有列标题为 1-10 的值。

关于工资 sheet 我有一个单元格 'AM3' 将是 1-10 之间的数字。根据该单元格,下面的单元格应汇总该特定站点所有员工在该列中的所有值。

例如 - 我有一个站点 'EXAMPLE SITE' 的工资 sheet,它存储在单元格 C2 和单元格 AM3 = 9 中。

我正在尝试使用以下公式来完成这项工作:

=SUMIFS(INDEX(Table1,,MATCH(AM3,Table1[#Headers]),0),Table1[[Site]:[Site]],$C)

也就是说,我正在检查 Table1,并找到标题为单元格 AM3 中包含的值(完全匹配)的列。 criteria_range1 是站点列,criteria1 是 'EXAMPLE SITE' 存储在 C2 中。

我希望这对列 header 9 中的每个单元格求和,匹配站点 'EXAMPLE SITE'。但我只是收到 #N/A 错误。

表 1:

Name - Site         - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8  - 9  - 10

Tom  - EXAMPLE SITE - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0  - 10 - 20
Geoff- EXAMPLE SITE - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0  - 9  - 18
Sarah- RANDOM SITE  - 0 - 0 - 0 - 0 - 0 - 0 - 5 - 15 - 25 - 40

在这个例子中,我希望公式将 return '19' 作为数值。我觉得我只是愚蠢,但谷歌搜索对我没有任何帮助。

MATCH 似乎很难将 table headers 与数值匹配。试试这个:

=SUMIFS(INDEX(Table1,,MATCH(AM3,INDEX(Table1[#Headers]*1,),0)),Table1[[Site]:[Site]],$C)

与之前的 MATCH 问题相同,但解决方案不同。

=SUMIFS(INDEX(Table1[[1]:[10]],0,MATCH(TEXT(AM3, "0"),Table1[[#Headers],[1]:[10]],0)),Table1[Site],C2)