使用 `SUMPRODUCT` 不除以零
Using `SUMPRODUCT` without dividing by zero
请参阅上图了解我在 Libre Calc 中的假设成绩 sheet。有两排。一个包含每项任务所取得的分数,而第二个记录可用的分数。我想保持 运行 平均成绩,但我不想在每次添加新作业时更新 运行 平均成绩的公式。目前,我正在使用:
SUMPRODUCT( ENTIRE_POINTS_ACHIEVED_ROW, 1 / (ENTIRE_POINTS_AVAILABLE_ROW) )
然后我用 COUNTA()
.
除以非空白行数来求平均值
正如您在上面看到的,作业 1-3 已完成,但没有第四个的信息。因此,我得到了除以零的错误。我怎么能适应这个?或者,是否有更直接的方法来实现我上面描述的内容?
改为使用此数组公式:
=SUM(IF($B:$E<>"",B2:E2/B3:E3))/COUNT(B2:E2)
作为数组,必须使用 Ctrl-Shift-Enter 确认。如果做得好 {}
将放在公式周围。
这是 excel,在 LibreOffice 中可能无法使用。
与 一样,使用 数组公式 是遵循的方法。使用 LO Calc,以下公式应该有效(使用 CTRL+SHIFT+ENTER 输入它是一个数组公式):
=SUMPRODUCT(IF(B2:E2<>0; B2:E2; "");1/B3:E3)/COUNT(B2:E2)*100
请参阅上图了解我在 Libre Calc 中的假设成绩 sheet。有两排。一个包含每项任务所取得的分数,而第二个记录可用的分数。我想保持 运行 平均成绩,但我不想在每次添加新作业时更新 运行 平均成绩的公式。目前,我正在使用:
SUMPRODUCT( ENTIRE_POINTS_ACHIEVED_ROW, 1 / (ENTIRE_POINTS_AVAILABLE_ROW) )
然后我用 COUNTA()
.
正如您在上面看到的,作业 1-3 已完成,但没有第四个的信息。因此,我得到了除以零的错误。我怎么能适应这个?或者,是否有更直接的方法来实现我上面描述的内容?
改为使用此数组公式:
=SUM(IF($B:$E<>"",B2:E2/B3:E3))/COUNT(B2:E2)
作为数组,必须使用 Ctrl-Shift-Enter 确认。如果做得好 {}
将放在公式周围。
这是 excel,在 LibreOffice 中可能无法使用。
与
=SUMPRODUCT(IF(B2:E2<>0; B2:E2; "");1/B3:E3)/COUNT(B2:E2)*100