如何在外部 sheet 上使用带有文本条件的月份和年份的 SUMIF
How use SUMIF with month & year with text criteria on external sheet
如何将 SUMIF 与带有文本条件的月份和年份一起使用,
Exp!
我要求和
A B C
Date Item Code QTY
01-12-16 86000 50
15-12-16 86021 20
01-02-17 86022 100
01-03-17 86023 50
现在我想要在外部 sheet.
上仅计算 86000 的 Dec-16 的总和结果
假设您的数据如下图所示,然后在 Cell G2
中输入以下公式
=SUMPRODUCT((MONTH($A:$A)=12)*(YEAR($A:$A)=2016)*($B:$B=86000)*(C2:C5))
或
=SUMPRODUCT((MONTH($A:$A)=F2)*(YEAR($A:$A)=F3)*($B:$B=F4)*(C2:C5))
在这里,SUMIFS
可能没有用,您可以使用SUM
作为
=SUM(IF(MONTH($A:$A)=F2,IF(YEAR($A:$A)=F3,IF($B:$B=F4,$C:$C))))
这是一个数组公式,因此按 Ctrl+Shift+Enter 提交它.
编辑:
如果您必须使用月份名称而不是数字,即如果您使用 Dec
而不是 12
那么请使用以下公式
=SUMPRODUCT((MONTH($A:$A)=MONTH(F2&"1"))*(YEAR($A:$A)=F3)*($B:$B=F4)*(C2:C5))
使用 Table 范围,帮助您在整个工作簿的每个工作表中进行寻址。
假设日期字段数据类型为文本:
=SUMIFS(Table1[QTY], Table1[Date], "01-12-16", Table1[Item Code], "86000")
如果日期以 12-16 结尾:
=SUMIFS(Table1[QTY], RIGHT(Table1[Date], 5) , "12-16", Table1[Item Code], "86000")
您可以使用 SUMPRODUCT
:
在上面的屏幕截图中,我添加了两行额外的数据来向您展示这是如何工作的。我所做的是将所有日期转换为该月的第一个日期。这是假设您在 cell E2
.
上得到结果的公式
=SUMPRODUCT($C:$C,--(DATE(YEAR($A:$A),MONTH($A:$A),1)=DATE(2016,12,1)),--($B:$B=86000))
您也可以将标准移至另一个 table 以便您将来更改它们。
你也可以使用 SUMIFS
=SUMIFS($C:$C,$A:$A,">="&F2,$A:$A,"<="&EOMONTH(F2,0),$B:$B,G2)
日期可以作为文本或实际日期输入。
终于找到解决办法了
A B C
1........ 日期........ 项目代码.......数量
2
3........ 16-12....... 86000....... 50
4........ 15-12-16 ........ 86021........ 20
5........ 01-02-17 ....... 86022....... 100
6........ 01-03-17 ........ 86023........ 50
我想要 Only Dec-2016 的 86000 的总和,我把这个公式放在单元格中,我的问题就解决了
=SUMPRODUCT((月($A$3:$A$6)=12)(年($A$3:$A$6)=2016)($C$3 :$C$6)*($B$3:$B$6=86000))
如何将 SUMIF 与带有文本条件的月份和年份一起使用,
Exp!
我要求和
A B C
Date Item Code QTY
01-12-16 86000 50
15-12-16 86021 20
01-02-17 86022 100
01-03-17 86023 50
现在我想要在外部 sheet.
上仅计算 86000 的 Dec-16 的总和结果假设您的数据如下图所示,然后在 Cell G2
=SUMPRODUCT((MONTH($A:$A)=12)*(YEAR($A:$A)=2016)*($B:$B=86000)*(C2:C5))
或
=SUMPRODUCT((MONTH($A:$A)=F2)*(YEAR($A:$A)=F3)*($B:$B=F4)*(C2:C5))
在这里,SUMIFS
可能没有用,您可以使用SUM
作为
=SUM(IF(MONTH($A:$A)=F2,IF(YEAR($A:$A)=F3,IF($B:$B=F4,$C:$C))))
这是一个数组公式,因此按 Ctrl+Shift+Enter 提交它.
编辑:
如果您必须使用月份名称而不是数字,即如果您使用 Dec
而不是 12
那么请使用以下公式
=SUMPRODUCT((MONTH($A:$A)=MONTH(F2&"1"))*(YEAR($A:$A)=F3)*($B:$B=F4)*(C2:C5))
使用 Table 范围,帮助您在整个工作簿的每个工作表中进行寻址。
假设日期字段数据类型为文本:
=SUMIFS(Table1[QTY], Table1[Date], "01-12-16", Table1[Item Code], "86000")
如果日期以 12-16 结尾:
=SUMIFS(Table1[QTY], RIGHT(Table1[Date], 5) , "12-16", Table1[Item Code], "86000")
您可以使用 SUMPRODUCT
:
在上面的屏幕截图中,我添加了两行额外的数据来向您展示这是如何工作的。我所做的是将所有日期转换为该月的第一个日期。这是假设您在 cell E2
.
=SUMPRODUCT($C:$C,--(DATE(YEAR($A:$A),MONTH($A:$A),1)=DATE(2016,12,1)),--($B:$B=86000))
您也可以将标准移至另一个 table 以便您将来更改它们。
你也可以使用 SUMIFS
=SUMIFS($C:$C,$A:$A,">="&F2,$A:$A,"<="&EOMONTH(F2,0),$B:$B,G2)
日期可以作为文本或实际日期输入。
终于找到解决办法了
A B C
1........ 日期........ 项目代码.......数量
2
3........ 16-12....... 86000....... 50
4........ 15-12-16 ........ 86021........ 20
5........ 01-02-17 ....... 86022....... 100
6........ 01-03-17 ........ 86023........ 50
我想要 Only Dec-2016 的 86000 的总和,我把这个公式放在单元格中,我的问题就解决了
=SUMPRODUCT((月($A$3:$A$6)=12)(年($A$3:$A$6)=2016)($C$3 :$C$6)*($B$3:$B$6=86000))