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)
然后拖动填充单元格将其复制到每个月份的列(只要确保您更改公式中的月份编号(如果您也这样做,则为年份)),然后拖放填充列。
这应该工作很好吃 🙂
祝你好运!