如何为滚动的6个月平均值编写公式,但忽略返回" 0"?我的数据分布在12列中,一年中的每个月都有一个单元格,但是,有些单元格的值大于1。 1和其他有0。
如果没有0,下面的公式会很好,但是如果有的话会破坏计算。
=SUM(OFFSET(E2;0;COUNT(E2:P2)-IF(COUNT(E2:P2)>3;3;COUNT(E2:P2));1;IF(COUNT(E2:P2)>3;3;COUNT(E2:P2))))
建议任何人?
由于
答案 0 :(得分:0)
查看DAVERAGE函数。
在a2到a7我放置了:
aField
10
11
9
0
10
在c1到c2中,我放置了:
aField
>0
现在为DAVERAGE。我用过:=DAVERAGE(A2:A7,1,C1:C2)
。这指示Excel将a2:a7视为数据库,查看第一个字段,并仅对aField>中的那些进行平均。 0.
答案 1 :(得分:0)
这可以通过数组输入公式来完成:
=AVERAGE(N(OFFSET(E2,0,-COLUMN(E2)+LARGE((E2:P2>0)*COLUMN(E2:P2),{1,2,3,4,5,6}))))
输入后, array-enter 一个公式
公式进入单元格或公式栏,按住
点击ctrl+shift
时enter
。如果你这样做了
正确地说,Excel会在公式周围放置大括号{...}
。
该公式查找值大于零的6个“最大”列(最高列号);然后使用OFFSET
函数中的那些列号返回这些单元格中包含的值;然后平均他们。
由于不清楚的原因,N
函数允许AVERAGE
函数查看所有值。没有它,它只返回OFFSET