1

在此处输入图像描述

大家好,

如果 A 列的数字与 E 列匹配并按月求和,有谁知道如何从 B 列(小时)求和。

例如,以 2 月的数据为例,因为 A 列和 E 列中只存在 3000 和 4000,这就是为什么我需要将 B 列的小时数 (20+10=30) 与下面的月份相加。

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

提前致谢。:-)

4

4 回答 4

1

将此公式放入单元格 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 行中已有的数据)

SumIf 函数结果截图

于 2013-04-17T02:11:06.300 回答
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 行中的月份格式更改为相同,即。一月,二月,三月或一月,二月,三月等。

即时编写,未经测试,请原谅任何小错误...

于 2013-04-17T02:15:45.017 回答
1

到目前为止发布的两个答案都很好,但作为替代方案,这就是我要做的。将此公式放入单元格 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)

那应该得到你想要的。

于 2013-04-17T04:51:32.273 回答
0

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

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

于 2013-04-17T07:33:53.593 回答