大家好,
如果 A 列的数字与 E 列匹配并按月求和,有谁知道如何从 B 列(小时)求和。
例如,以 2 月的数据为例,因为 A 列和 E 列中只存在 3000 和 4000,这就是为什么我需要将 B 列的小时数 (20+10=30) 与下面的月份相加。
我还附上了下面的示例 excel 表。 https://www.dropbox.com/s/0s51g1i8g6s6e2d/Test.xls?m
提前致谢。:-)
大家好,
如果 A 列的数字与 E 列匹配并按月求和,有谁知道如何从 B 列(小时)求和。
例如,以 2 月的数据为例,因为 A 列和 E 列中只存在 3000 和 4000,这就是为什么我需要将 B 列的小时数 (20+10=30) 与下面的月份相加。
我还附上了下面的示例 excel 表。 https://www.dropbox.com/s/0s51g1i8g6s6e2d/Test.xls?m
提前致谢。:-)
将此公式放入单元格 D2 并向下拖动:
=IF(NOT(ISERROR(MATCH(A2,$E$2:$E$20,FALSE))),B2,"")
在第 22 行中,将月份名称更改为全名,或者在 C 列中,将月份名称更改为三个字母的缩写名称,这样我们就可以使用该SumIf
功能。
然后,在单元格 B23 中,输入此公式并将其拖过:
=SUMIF($C$2:$C$16,B22,$D$2:$D$16)
(我将公式放在第 24 行以检查您在第 23 行中已有的数据)
您可能会因客户功能而变得复杂,但如果有一个额外的列(可能隐藏)并不重要,那么这将起作用:
在单元格 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 行中的月份格式更改为相同,即。一月,二月,三月或一月,二月,三月等。
即时编写,未经测试,请原谅任何小错误...
到目前为止发布的两个答案都很好,但作为替代方案,这就是我要做的。将此公式放入单元格 D2 并将其向下拖动:
=IF(NOT(ISNA(VLOOKUP(A2, $E$2:$E$20, 1, FALSE))), B2, "")
然后,如果您创建一个包含月份名称的列,例如从 G2 到 G7,您有二月、三月、...、七月,您可以将此公式放入 H2 并向下拖动:
=SUMIFS($D$2:$D$16, $C$2:$C$16, G2)
那应该得到你想要的。
如果没有辅助列,应该不会更难。只需确保您在第 22 行中有完整的月份名称以匹配 C 列数据,然后在 B23 中使用此公式复制
=SUMPRODUCT(SUMIFS($B2:$B16,$C2:$C16,B22,$A2:$A16,$E2:$E20))