Excel 几个ifs的sum乘积

Excel 几个ifs的sum乘积,excel,excel-formula,Excel,Excel Formula,我花了很多时间在Excel中学习一个公式,但我仍然被封锁。我希望你能帮助我 我在Excel中有一个表,其中有几个值,如下图所示 我想提取的是特定月份销售的水果数量。也就是说,例如,2016年1月售出了多少柠檬。这是我使用的公式: =SUMPRODUCT((B3:B38=E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150) 但结果是#不适用,如屏幕截图所示 我做错了什么?需要帮忙吗 提前多谢 你的问题的一部分是你的射

我花了很多时间在Excel中学习一个公式,但我仍然被封锁。我希望你能帮助我

我在Excel中有一个表,其中有几个值,如下图所示

我想提取的是特定月份销售的水果数量。也就是说,例如,2016年1月售出了多少柠檬。这是我使用的公式:

=SUMPRODUCT((B3:B38=E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150)
但结果是#不适用,如屏幕截图所示

我做错了什么?需要帮忙吗


提前多谢

你的问题的一部分是你的射程长度不相等。B3:B38的行数必须与$A$3:$A$150和C3:C150的行数相同。当两行不相等时,事情就会发生在你身上

=SUMPRODUCT(($B$3:$B$150=$E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150)
如果将标题行更改为实际excel日期格式,然后将单元格显示格式更改为仅显示月份(如csanjose所建议),则可以按如下方式调整sumproduct公式,并复制到表中的所有单元格

=SUMPRODUCT(($B$3:$B$38=$E4)*(MONTH($A$3:$A$150)=Month(F$3))*(YEAR($A$3:$A$150)=Year(F$3));$C$3:$C$150)

你的部分问题是你的射程长度不相等。B3:B38的行数必须与$A$3:$A$150和C3:C150的行数相同。当两行不相等时,事情就会发生在你身上

=SUMPRODUCT(($B$3:$B$150=$E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150)
如果将标题行更改为实际excel日期格式,然后将单元格显示格式更改为仅显示月份(如csanjose所建议),则可以按如下方式调整sumproduct公式,并复制到表中的所有单元格

=SUMPRODUCT(($B$3:$B$38=$E4)*(MONTH($A$3:$A$150)=Month(F$3))*(YEAR($A$3:$A$150)=Year(F$3));$C$3:$C$150)

将每月的最后一天填入月份行,然后应用日期格式仅显示月份名称。 例如,您应该使用的公式是g8:

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&G$3;$A:$A;">"&F$3)
=SUMIFS($C:$C;$B:$B;$E8;$A:$A;“”&F$3)
第一列“F”在左边没有可比较的列,因此您可以在E3中输入日期或稍微更改公式(例如F8):

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;“2015/12/31”)

查看

用每个月的最后一天填写月份行,然后应用日期格式仅显示月份名称。 例如,您应该使用的公式是g8:

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&G$3;$A:$A;">"&F$3)
=SUMIFS($C:$C;$B:$B;$E8;$A:$A;“”&F$3)
第一列“F”在左边没有可比较的列,因此您可以在E3中输入日期或稍微更改公式(例如F8):

=SUMIFS($C:$C;$B:$B;$E8;$A:$A;“2015/12/31”)

查看

如果您不想使用数据透视表,您可以使用以下公式获得所需:

=SUMPRODUCT(($B$3:$B$150=$E3)*(MONTH($A$3:$A$150)=1)*(YEAR($A$3:$A$150)=2015)*$C$3:$C$150)
然后拖动填充单元格以将其复制到“每月”列(只要确保更改公式中的月数(如果您也这样做,则更改年份)),然后向下拖动填充列

这应该很管用:)


祝你好运

如果您不想使用透视表,您可以使用以下公式获得所需:

=SUMPRODUCT(($B$3:$B$150=$E3)*(MONTH($A$3:$A$150)=1)*(YEAR($A$3:$A$150)=2015)*$C$3:$C$150)
然后拖动填充单元格以将其复制到“每月”列(只要确保更改公式中的月数(如果您也这样做,则更改年份)),然后向下拖动填充列

这应该很管用:)


祝你好运

您可以使用excel中的数组来获得此答案

{SUM(IF(MONTH(F$3&"1")=MONTH($A$3:$A$150),IF($E4=$B$3:$B$150,$C$3:$C$150,0),0))}

您可以使用excel中的数组来获得此答案

{SUM(IF(MONTH(F$3&"1")=MONTH($A$3:$A$150),IF($E4=$B$3:$B$150,$C$3:$C$150,0),0))}

您可以使用这个使用数组逻辑的Sumproduct公式:

SUMPRODUCT((MONTH($A$3:$A$38)=MONTH(TEXT(G$2,"MMM")&1))*($C$3:$C$38=$F4)*
($D$3:$D$38))

您可以使用这个使用数组逻辑的Sumproduct公式:

SUMPRODUCT((MONTH($A$3:$A$38)=MONTH(TEXT(G$2,"MMM")&1))*($C$3:$C$38=$F4)*
($D$3:$D$38))


为什么不使用透视表?嗨,约翰,谢谢你的回复。我不知道透视表是什么…:S…我将看一看…有趣的是,本教程使用水果和蔬菜作为示例:。一般来说,大量有点复杂的查找/计算已经内置到透视表中。有一点学习曲线,但成为Excel超级用户的唯一方法是掌握它们。这正是我目前正在查看的网站。我现在面临的问题是如何按照我的预期,按月按年显示结果,而不是按确切日期显示结果。还在努力。非常感谢John。顺便说一句,我更喜欢继续使用SUMPRODUCT公式,所以,如果有人能帮助我,我将非常感激。谢谢为什么不使用透视表呢?嗨,约翰,谢谢你的回复。我不知道透视表是什么…:S…我将看一看…有趣的是,本教程使用水果和蔬菜作为示例:。一般来说,大量有点复杂的查找/计算已经内置到透视表中。有一点学习曲线,但成为Excel超级用户的唯一方法是掌握它们。这正是我目前正在查看的网站。我现在面临的问题是如何按照我的预期,按月按年显示结果,而不是按确切日期显示结果。还在努力。非常感谢John。顺便说一句,我更喜欢继续使用SUMPRODUCT公式,所以,如果有人能帮助我,我将非常感激。谢谢成功了!谢谢!我唯一需要改变的是射程的长度,这就解决了问题。如果我将最后一个分号替换为*,我会得到一个值错误,但离开分号,我会得到所需的值!非常感谢Ed。如果您真的希望根据您的问题获得2016年1月的结果,那么将公式中的2015年更改为2016年。从12月到1月,虽然从技术上讲,你需要更新每个专栏的月份。它成功了!谢谢!我唯一需要改变的是射程的长度,这就解决了问题。如果我将最后一个分号替换为*,我会得到一个值错误,但离开分号,我会得到所需的值!非常感谢Ed。如果您真的希望根据您的问题获得2016年1月的结果,那么将公式中的2015年更改为2016年。从12月到1月,虽然从技术上讲,你需要更新每个专栏的月份。感谢你的时间和回答。感谢你的时间和回答。感谢你的回答和帮助!谢谢你的回复和帮助!