如果使用数组公式求平均值
using array formula to average if
我有一些细胞d1:d10
。有些有数字,有些包含 ""
。 ""
是 =iferror(,"")
函数的结果,用于保留空白单元格。
我试图平均 d1:d10
但只包括不 ""
.
的单元格
我有 =AVERAGE(IF(D12:D51<>"",D12:D51))
后跟 ctrl+shft+enter 但它仍然取所有单元格的平均值(本质上是求和并除以 10,我希望它求和并除以小于 10,具体取决于 ""
个单元格的数量)
我无法在 Excel 2013 年重现您的问题。
通常,Excel 的平均函数会忽略文本、空单元格和逻辑值。所以,下面的公式应该做你想做的事。
=AVERAGE(D1:D10)
函数中的 if 子句 returns 要么是一些数字,要么是 FALSE。同样,通常情况下,Excel 的平均函数会忽略 FALSE 值,因此它不应该像你说的那样表现。如果它以某种方式将布尔值转换为基于 Excel 版本的数值(FALSE 为零),您可以只提供一个字符串而不是布尔值,因此它必须忽略这些值:
=AVERAGE(IF(D1:D10<>"", D1:D10, "s"))
或者你可以不用平均函数计算平均值:
=SUM(IF(D1:D10<>"", D1:D10))/COUNT(IF(D1:D10<>"", D1:D10))
我有一些细胞d1:d10
。有些有数字,有些包含 ""
。 ""
是 =iferror(,"")
函数的结果,用于保留空白单元格。
我试图平均 d1:d10
但只包括不 ""
.
我有 =AVERAGE(IF(D12:D51<>"",D12:D51))
后跟 ctrl+shft+enter 但它仍然取所有单元格的平均值(本质上是求和并除以 10,我希望它求和并除以小于 10,具体取决于 ""
个单元格的数量)
我无法在 Excel 2013 年重现您的问题。 通常,Excel 的平均函数会忽略文本、空单元格和逻辑值。所以,下面的公式应该做你想做的事。
=AVERAGE(D1:D10)
函数中的 if 子句 returns 要么是一些数字,要么是 FALSE。同样,通常情况下,Excel 的平均函数会忽略 FALSE 值,因此它不应该像你说的那样表现。如果它以某种方式将布尔值转换为基于 Excel 版本的数值(FALSE 为零),您可以只提供一个字符串而不是布尔值,因此它必须忽略这些值:
=AVERAGE(IF(D1:D10<>"", D1:D10, "s"))
或者你可以不用平均函数计算平均值:
=SUM(IF(D1:D10<>"", D1:D10))/COUNT(IF(D1:D10<>"", D1:D10))