大家好,
如果A列数字与E列匹配且总和按月计算,是否有人知道如何将B列(小时数)中的小时数相加。
示例,以二月数据为例,因为只有3000& A列和A列均存在4000 E栏,这就是为什么我需要在下面的一个月将B栏中的小时数(20 + 10 = 30)相加。
我还附上了下面的示例excel表。 https://www.dropbox.com/s/0s51g1i8g6s6e2d/Test.xls?m
提前致谢。 : - )
答案 0 :(得分:1)
将此公式放在单元格D2中并向下拖动:
=IF(NOT(ISERROR(MATCH(A2,$E$2:$E$20,FALSE))),B2,"")
在第22行中,将月份名称更改为全名,在列C中更改 OR ,将月份名称更改为缩写的3个字母的名称,这样我们就可以使用{ {1}}功能。
然后,在Cell B23中,输入此公式并将其拖过:
SumIf
(我把第24行中的公式用来检查你在第23行中已有的数据)
答案 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))