如果年份相等,Excel总和

我有两列数据;

A:

12/31/2013

2013年12月30日

2013年12月29日

2013年12月28日

2013年12月27日

2012年12月26日

B:

10

10

10

10

10

我的公式是:= SUM(IF(YEAR(G6:G11)= 2013,H6:H11,0),0)

在向导中答案是50

但是当我input时,它在页面上显示55。

有什么想法吗?

解决方法:在写公式时,按“Ctrl + Shift + Enter”谢谢

我相信你没有input公式作为数组公式。 @Alexandru对他的评论是正确的,因为只有在提供的范围内的第一个单元格正在计算,所以你有YEAR(G2)=2013 ,这是真的,你可以得到整个范围H6:H11的总和。

一些解决方法:

  • 你数组input公式。 这将要求您按住Ctrl + Shift然后按Enter键

  • 使用自动将input视为数组的公式,例如SUMPRODUCT

     =SUMPRODUCT((YEAR(G6:G11)=2013)*H6:H11) 
  • 改变你的逻辑和,并使用SUMIFS ,以年份的第一个和最后一个date为界限:

     =SUMIFS(H6:H11,G6:G11,">=01-Jan-2013",G6:G11,"<=31-Dec-2013") 

我用这个公式来做你所说的=SUMIF(D1:D2;"=2014";B1:B2) ,其中D1==YEAR(A1)和`D2 = YEAR(A2)'。 你可以为你的例子做同样的事情。