excel用户面临的挑战: 我有一个包含以下列的表:
Year || Week || Output
2011 || 50 || 1000
2011 || 51 || 2000
2011 || 52 || 1500
2012 || 01 || 1200
2012 || 02 || 1700
2012 || 03 || 1900
我想对列输出中给定年/周与另一年/周之间的值求和。例如:
提前谢谢大家。
此致 MH
答案 0 :(得分:2)
我的步骤:
{Year}*100 + {Week}
{Year}*100 + {Week}
) - <LOW>
&amp; <HIGH>
。 =IF(AND(C2>=<LOW>,C2<=<HIGH>),1,0)*E2
然后求和单元变为:
=SUM(D:D)
编辑:找到另一种方式,上面没有D
列
N1 = LOW (year*100 + week) O1 = HIGH (year*100 + week) N2 => =TEXT(N1) O2 => =TEXT(O1)
=SUMIFS(E:E,C:C, CONCATENATE(">=", $N$2),C:C, CONCATENATE("<=", $O$2))
答案 1 :(得分:0)
如果您使用的是Excel 2007或更高版本,则可以使用SUMIFS()
。
实施例
=SUMIFS(C2:C7, A2:A7, "=2011", B2:B7, ">49", B2:B7, "<53")
否则您仍然可以使用Excel宏。
答案 2 :(得分:0)
假设您的数据在A1:C6中,您可以使用数组公式(使用Shift + Ctrl + Enter输入):
=SUM((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6))
或者,使用SumProduct(正常输入):
=SUMPRODUCT((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6))
显然,您需要输入或参考您的标准。此外,如果年份发生变化,那么您将需要另一个学期来检查最长年份。