SUMPRODUCT几个ifs

我花了很多时间用Excel中的公式,我仍然被阻止。 我希望你能帮助我。

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

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

=SUMPRODUCT((B3:B38=E4)*(MONTH($A$3:$A$150)=12)*(YEAR($A$3:$A$150)=2015);$C$3:$C$150) 

但是结果如屏幕截图所示#N / A。

我究竟做错了什么? 请帮忙吗?

提前感谢!

你的问题的一部分是你的范围是不相等的长度。 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) 

如果您将标题行更改为实际的Exceldate格式,然后将单元格显示格式更改为仅显示月份(如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) 

你可以在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演示

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

 =SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&G$3;$A:$A;">"&F$3) 

第一列“F”没有左边的列进行比较,所以你可以在E3中放一个date或者改变一下公式(例子F8):

 =SUMIFS($C:$C;$B:$B;$E8;$A:$A;"<="&F$3;$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) 

然后拖动填充单元格将其复制到每个月份的列(只要确保您更改公式中的月份编号(如果您也这样做,则为年份)),然后拖放填充列。

这应该工作很好 🙂

祝你好运!