Excel公式 – Sumif OR

excel用户面临的一个挑战:我有一张表格,内容如下:

Year || Week || Output 2011 || 50 || 1000 2011 || 51 || 2000 2011 || 52 || 1500 2012 || 01 || 1200 2012 || 02 || 1700 2012 || 03 || 1900 

我想总结列输出中给定年份/周和另一年/周之间的值。 例:

  • 在2011/50和2011/52之间。 结果= 1000 + 2000 + 1500 = 4500
  • 在2011/51和2012/02之间。 结果= 2000 + 1500 + 1200 + 1700 = 6400

谢谢大家。

问候,MH

我的步骤:

  1. 年= A,周= B,输出= E
  2. 创build一个临时列(C): {Year}*100 + {Week}
  3. 为边界创build两个input集(也包含{Year}*100 + {Week} ) – <LOW><HIGH>
  4. 用这个公式创build一个临时列(D):

=IF(AND(C2>=<LOW>,C2<=<HIGH>),1,0)*E2

然后求和单元变成:

=SUM(D:D)

编辑 :find另一种方式,从上面没有D

 N1 =低(年* 100 +周)
 O1 =高(年* 100 +周)

 N2 => = TEXT(N1)
 O2 => = TEXT(O1)

=SUMIFS(E:E,C:C, CONCATENATE(">=", $N$2),C:C, CONCATENATE("<=", $O$2))

如果您使用的是Excel 2007或更高版本,则可以使用SUMIFS()

 =SUMIFS(C2:C7, A2:A7, "=2011", B2:B7, ">49", B2:B7, "<53") 

否则,你仍然可以使用Excelmacros。

假设您的数据在A1:C6中,可以使用数组公式(数组公式)(使用Shift + Ctrl + Enterinput)来完成此操作:

 =SUM((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6)) 

或者,用SumProduct(正常input):

 =SUMPRODUCT((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6)) 

显然,你需要input或引用你的标准。 另外,如果年份会发生变化,那么您将需要另一个期限来检查最大年份。