【问题标题】:Count not blank cells for average calculation (not in range)计算非空白单元格以进行平均计算(不在范围内)
【发布时间】:2020-08-04 01:19:31
【问题描述】:

我有计算平均百分比的公式:

=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&" %"

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    AVERAGE 将忽略空白单元格(和文本),因此您只需替换:

    (G157+G171+G185+G199+G213+G227+G241)/7
    

    与:

    AVERAGE(G157,G171,G185,G199,G213,G227,G241)
    

    即:

    =CEILING(AVERAGE(G157,G171,G185,G199,G213,G227,G241),0.001)*100&" %"
    

    (根据您的设置,用分号替换逗号,用逗号替换我的小数点)。

    【讨论】:

      【解决方案2】:

      我们可以使用索引:

      如果有 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%")
      

      您可能需要将所有, 更改为; 并将. 更改为,

      【讨论】:

      • 谢谢!在性能方面,我猜这个比我的好? =TEXT(CEILING(SUM(INDEX(G:G,N(IF({1},{2,3,5,7,10,15,20}))))/SUMPRODUCT(--(LEN(INDEX(G:G,N(IF({1},{2,3,5,7,10,15,20}))))>0)),0.001),"0.0%")
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      相关资源
      最近更新 更多