使用`SUMPRODUCT`而不用零除

在Libre Calc中查看我的假设成绩单上面的图片。 有两排。 一个包含每个作业所获得的要点,而另一个包含可用的要点。 我想保持一个平均的成绩,但是我不希望每增加一个新作业就更新跑步平均数的公式。 目前,我正在使用:

SUMPRODUCT( ENTIRE_POINTS_ACHIEVED_ROW, 1 / (ENTIRE_POINTS_AVAILABLE_ROW) ) 

然后我用COUNTA()find平均值除以非空白行数。

正如你在上面看到的,作业1-3是完整的,但没有第四个的信息。 正因为如此,我得到一个零差错。 我怎么能适应这个? 或者,有没有一种更直接的方式来实现我上面描述的?

正如斯科特·克雷纳(Scott Craner)所提出的那样 ,使用数组公式是遵循的方法 使用LO Calc,下面的公式应该可以工作(使用CTRL + SHIFT + ENTERinput以使其成为数组公式):

=SUMPRODUCT(IF(B2:E2<>0; B2:E2; "");1/B3:E3)/COUNT(B2:E2)*100

在这里输入图像说明

我已经从OpenOffice.org Calc文档中调整了一个示例 。

改用这个数组公式:

 =SUM(IF($B$3:$E$3<>"",B2:E2/B3:E3))/COUNT(B2:E2) 

作为一个数组,它必须通过Ctrl-Shift-Enter确认。 如果正确完成{}将被放在公式中。

这是优秀的,它可能不适用于LibreOffice。

在这里输入图像说明