Excel 计算平均值时计数非空单元格(不在范围内)
我有计算平均百分比的公式:Excel 计算平均值时计数非空单元格(不在范围内),excel,excel-formula,Excel,Excel Formula,我有计算平均百分比的公式: =CEILING((G157+G171+G185+G199+G213+G227+G241)/7;0,001)*100&" %" 然而,这将不起作用,因为一些单元格可能是空白的,那么我们需要除以除7以外的其他数字,以获得正确的程序 我知道我可以计算范围=COUNTBLANK(B4:B9)中的空白单元格,但这在我的情况下不起作用 有比写这样的东西更好、更简单的解决方案吗 =CEILING((G157+G171+G185+G199+G213+G
=CEILING((G157+G171+G185+G199+G213+G227+G241)/7;0,001)*100&" %"
然而,这将不起作用,因为一些单元格可能是空白的,那么我们需要除以除7以外的其他数字,以获得正确的程序
我知道我可以计算范围=COUNTBLANK(B4:B9)
中的空白单元格,但这在我的情况下不起作用
有比写这样的东西更好、更简单的解决方案吗
=CEILING((G157+G171+G185+G199+G213+G227+G241)/(IF(G157=0;0;1)+IF(G171=0;0;1)+IF(G185=0;0;1)+IF(G199=0;0;1)+IF(G213=0;0;1)+IF(G227=0;0;1)+IF(G241=0;0;1));0,001)*100&" %"
我们可以使用索引:
如果Office 365具有动态数组公式:
=TEXT(CEILING(SUM(INDEX(G:G,{157,171,185,199,213,227,241}))/SUMPRODUCT(--(LEN(INDEX(G:G,{157,171,185,199,213,227,241}))>0)),0.001),"0.0%")
如果没有:
=TEXT(CEILING(SUM(INDEX(G:G,N(IF({1},{157,171,185,199,213,227,241}))))/SUMPRODUCT(--(LEN(INDEX(G:G,N(IF({1},{157,171,185,199,213,227,241}))))>0)),0.001),"0.0%")
您可能需要将所有的,
更改为代码>和
到,
我们可以使用索引:
如果Office 365具有动态数组公式:
=TEXT(CEILING(SUM(INDEX(G:G,{157,171,185,199,213,227,241}))/SUMPRODUCT(--(LEN(INDEX(G:G,{157,171,185,199,213,227,241}))>0)),0.001),"0.0%")
如果没有:
=TEXT(CEILING(SUM(INDEX(G:G,N(IF({1},{157,171,185,199,213,227,241}))))/SUMPRODUCT(--(LEN(INDEX(G:G,N(IF({1},{157,171,185,199,213,227,241}))))>0)),0.001),"0.0%")
您可能需要将所有的,
更改为代码>和
到,
平均值
将忽略空白单元格(和文本),因此您只需替换:
(G157+G171+G185+G199+G213+G227+G241)/7
与:
i、 e:
(根据您的设置,将逗号替换为分号,将“我的小数点”替换为逗号)。AVERAGE
将忽略空白单元格(和文本),因此您只需替换:
(G157+G171+G185+G199+G213+G227+G241)/7
与:
i、 e:
(根据您的设置,用分号替换逗号,用逗号替换我的小数)。谢谢!就性能而言,我想这个比我的好<代码>=文本(上限(索引(G:G,N(IF({1},{2,3,5,7,10,15,20})))/SUMPRODUCT(--)(索引(G:G,N(IF({1},{2,3,5,7,10,15,20}))>0),0.001),“0%”
谢谢!就性能而言,我想这个比我的好<代码>=文本(上限(总和(指数G:G,N(如果({1},{2,3,5,7,10,15,20})))/SUMPRODUCT(--)(指数G:G,N(如果({1},{2,3,5,7,10,15,20}))>0),0.001,“0%”