我试图对一个范围内的所有行求和,然后在Excel中获得该数组中非零行的平均值。我能得到的最接近的是:
{=AVERAGE(MMULT(M6:P8,SIGN(TRANSPOSE(COLUMN(M6:P8)))))}
如果没有空白单元格,则有效,但如果有,则获得#VALUE!错误。
我尝试在MMULT中使用N函数来转换数组中的空白,但它似乎无法工作。
任何帮助将非常感激。由于
示例:
M N O P
6 7 4 3 6
7
8 1 3 4 7
答案应为17.5
答案 0 :(得分:0)
好的,可能有一个更优雅的解决方案,但这有效:
{=SUM(M6:P8)/SUM(IF(MMULT(--(M6:P8<>""),TRANSPOSE(COLUMN(M6:P8)^0)),1))}
改编自:https://www.mrexcel.com/forum/excel-questions/1026823-count-non-blank-rows-array.html
答案 1 :(得分:0)
现在你有一个不涉及帮助列的工作解决方案,这里有一个带辅助列的方法。
在单元格Q6中放入以下公式:
=(COUNT(M6:P6)>0)+0
并复制到Q8。
然后使用公式:
=SUM(M6:P8)/SUM(Q6:Q8)