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

时间:2018-07-26 11:46:07

标签: excel sumifs

我认为我已经很接近我想要的了,但是我仍然遇到#N / A错误-

我有一些工资表交叉引用了一个劳工表“ Table1”,该表存储了我的雇员的信息(工资代码,地点,合同工时等)。在表1中,我有标题为1-10的列,其中的值。

在工资表上,我有一个单元格“ AM3”,该数字将介于1到10之间。根据该单元格,下面的单元格应汇总该列中该特定站点上所有人员的所有值。

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

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

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

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

我希望这能对列标题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

在该示例中,我希望公式返回“ 19”作为数值。我觉得自己只是傻瓜,但没有大量的谷歌搜索对我有帮助。

2 个答案:

答案 0 :(得分:1)

MATCH似乎很难匹配具有数字值的表头。试试这个:

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

答案 1 :(得分:0)

与MATCH相同的问题与更早的解决方法相同。

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

enter image description here