求和仅匹配两列的值

时间:2013-04-17 01:52:32

标签: excel indexing match sumifs

enter image description here

大家好,

如果A列数字与E列匹配且总和按月计算,是否有人知道如何将B列(小时数)中的小时数相加。

示例,以二月数据为例,因为只有3000& A列和A列均存在4000 E栏,这就是为什么我需要在下面的一个月将B栏中的小时数(20 + 10 = 30)相加。

我还附上了下面的示例excel表。 https://www.dropbox.com/s/0s51g1i8g6s6e2d/Test.xls?m

提前致谢。 : - )

4 个答案:

答案 0 :(得分:1)

将此公式放在单元格D2中并向下拖动:

=IF(NOT(ISERROR(MATCH(A2,$E$2:$E$20,FALSE))),B2,"")

在第22行中,将月份名称更改为全名,在列C中更改 OR ,将月份名称更改为缩写的3个字母的名称,这样我们就可以使用{ {1}}功能。

然后,在Cell B23中,输入此公式并将其拖过:

SumIf

(我把第24行中的公式用来检查你在第23行中已有的数据)

Screenshot of SumIf function results

答案 1 :(得分:1)

您可能会对客户功能感到复杂,但如果有一个额外的列(可能隐藏)并不重要,那么这将有效:

在单元格D2中输入:

=iferror(vlookup($A2,$E$2:$E$20,1,FALSE),"x")

向下拖动公式。

每个月,您可以放置​​:

=sumifs($B$2:$B$16,$C$2:$C$16,B$22,$D$2:$D$16,"<>x")

将公式拖过

这假设您可以将C列或第22行中的月份格式更改为相同,即。 1月,2月,3月或1月,2月,3月等。

即时编写并未经过测试,因此可以解释任何轻微错误......

答案 2 :(得分:1)

到目前为止发布的两个答案都很好,但作为替代方案,这就是我要做的。将此公式放在单元格D2中并将其向下拖动:

=IF(NOT(ISNA(VLOOKUP(A2, $E$2:$E$20, 1, FALSE))), B2, "")

然后,如果您创建一个包含月份名称的列,例如从G2到G7,您有2月,3月,...,7月,您可以将此公式放入H2并将其拖下来:

=SUMIFS($D$2:$D$16, $C$2:$C$16, G2)

那应该得到你想要的东西。

答案 3 :(得分:0)

没有帮助列,不应该更难。只需确保第22行中有完整的月份名称以匹配C列数据,然后在B23中使用此公式复制

=SUMPRODUCT(SUMIFS($B2:$B16,$C2:$C16,B22,$A2:$A16,$E2:$E20))