您如何修改此公式以允许C列中的错误?
=SUMPRODUCT((C$4:C$45)*(ROUNDUP(MONTH($B$4:$B$45)/3,0)=VALUE(LEFT($B48,1)))*(YEAR($B$4:$B$45)=VALUE(RIGHT($B48,2))+2000))/3
列格式如下:
AUG-14 =NA()
SEP-14 =NA()
OCT-14 102.45
NOV-14 103.11
DEC-14 104.23
JAN-15 =NA()
此公式计算在B48中保留的标签上的季度平均值,例如2014年第3季度。
尝试:
=SUMPRODUCT(ISNUMBER(C$4:C$45),(ROUNDUP(MONTH($B$4:$B$45)/3,0)=VALUE(LEFT($B48,1)))*(YEAR($B$4:$B$45)=VALUE(RIGHT($B48,2))+2000))/3
这不起作用
答案 0 :(得分:2)
错误在哪里? (我知道你说的是C栏,但我的意思是在哪些行?)。
你可以使用AVERAGEIFS
(需要Excel 2007或更高版本)来忽略错误除相关季度之外的错误,即
=AVERAGEIFS(C$4:C$45,B$4:B$45,">="&DATE(100+RIGHT($B48,2),LEFT(B48)*3-2,1),B$4:B$45,"<"&DATE(100+RIGHT(B48,2),LEFT($B48)*3+1,1))
如果您可能有错误,即使在相关的季度,也请尝试这个&#34;数组公式&#34;
=AVERAGE(IF(ISNUMBER(C$4:C$45),IF(INT((MONTH(B$4:B$45)+2)/3)&"Q"&TEXT(B$4:B$45,"yy")=$B48,C$4:C$45)))
后一个公式需要用 CTRL + SHIFT + ENTER
确认如果没有符合条件的日期,则会出现#DIV/0!
错误。您可以通过将整个公式包装在IFERROR
函数
答案 1 :(得分:0)
基于这个非常相似的问题: How do I sum a named range of values that contains errors?
我认为以下内容适合您:
=SUMPRODUCT(IF(ISNUMBER(((C$4:C$45)*(ROUNDUP(MONTH($B$4:$B$45)/3,0)=VALUE(LEFT($B48,1)))*(YEAR($B$4:$B$45)=VALUE(RIGHT($B48,2))+2000))/3)