Excel条件missplacing
我试图做出多个单元格的平均值,我想忽略零单元格。
这里是我的公式=IFERROR(AVERAGEIF(L4:L10;L12:L18;L20:L26;L28:L34;L36:L37);"")
,我不知道在哪里把条件忽略零"<>0"
。 难道我做错了什么?
假设你只有正值和零值,你可以使用这个语法对不连续的范围取平均值
=IFERROR(SUM(L4:L10;L12:L18;L20:L26;L28:L34;L36:L37)/INDEX(FREQUENCY((L4:L10;L12:L18;L20:L26;L28:L34;L36:L37);0);2);"")
FREQUENCY
部分给你一个两元素数组,一个是零计数,另一个是正值计数, INDEX
然后检索那些(正值的数量)的第二个,所以如果你除以这个数字得到不含零的平均值。 FREQUENCY
函数(与AVERAGEIF
不同)接受一个非连续的范围参数(一个“联合”)
….但是,如果你可以通过使用另一列的值来确定排除哪些行,那么使用AVERAGEIFS
更容易,例如,如果在排除的行上,例如K11
, K21
, K35
等,它们都具有“Total”可以使用这个版本:
=IFERROR(AVERAGEIFS(L4:L37;L4:L37;"<>0";K4:K37;"<>Total");"")
根据确切的文字进行调整,通配符是可能的
这是使用SUMIF
和COUNTIF
另一种方法。
示例数据:
Values 1 -3 0 5 777 3 0 0 8 text 4 5 6 0 6 7
公式:
B18=SUMIF(A2:A17,"<>0",A2:A17)-SUM(A6,A11,A15) B19=COUNTIF(A2:A5,"<>0")+COUNTIF(A7:A10,"<>0")+COUNTIF(A12:A17,"<>0") B20=B18/B19