使用数组公式来平均if

时间:2015-09-23 18:23:20

标签: excel array-formulas

我有一些单元格d1:d10。有些有数字,有些有""""=iferror(,"")函数留下空白单元格的结果。

我想平均d1:d10,但只包括不是""的单元格。

我有=AVERAGE(IF(D12:D51<>"",D12:D51))后跟ctrl + shft + enter但它仍然取所有单元格的平均值(基本上取总和除以10,我希望它取总和除以较少超过10,取决于""个细胞的数量)

1 个答案:

答案 0 :(得分:1)

我无法在Excel 2013中重现您的问题。 通常,Excel的平均函数忽略文本,空单元格和逻辑值。所以,下面的公式应该做你想做的事情。

=AVERAGE(D1:D10)

函数中的if子句返回一些数字或FALSE。同样,通常,Excel的平均函数会忽略FALSE值,因此它不应该像你说的那样表现。如果它以某种方式将布尔值转换为基于Excel的版本的数值(FALSE为零),你可以只给出一个字符串而不是一个布尔值,所以它必须忽略这些值:

=AVERAGE(IF(D1:D10<>"", D1:D10, "s"))

或者,您可以计算没有平均函数的平均值:

=SUM(IF(D1:D10<>"", D1:D10))/COUNT(IF(D1:D10<>"", D1:D10))