如何计算 Google 电子表格/Excel 中两列数字之间的总差异?

如何计算 Google 电子表格/Excel 中两列数字之间的总差异?

通常我只会像这样计算每行的差异:=B1-A1

然后我会像这样将该列的值相加=SUM(C1:C10)并得到我想要的值。

我不想要C列。可以立即计算吗?

例如我尝试过:(=SUM((B1-A1):(B10-A10))但没有效果)

通常我可以在文档的某个地方找到答案,但是我的数学英语词汇有点生疏,而且通过德语文档我找不到我想要的东西。

我知道我可以手动将 10 个值放入总和中。但这样做的扩展性并不好,我希望能够只更改公式中的几个值,而不是添加 1000 个值。

答案1

对于这种情况,应该采取以下措施:

=SUM(B1:B10) - SUM(A1:A10)

答案2

如果您想依次计算每个值,将其作为正数求值,然后计算出相加的结果,那么最好的办法是使用数组公式。
这些不是通过在末尾按 ENTER 来输入的,而是按 CTRL+SHIFT+ENTER。完成后,您会注意到两边都有一对括号 ( { })。
注意 - 您必须使用此方法,您不能在

=sum ( abs(b1:b10 - a1:a10) )

显然,如果这样更适合您的需要,您可以用平均值替换总和。

答案3

Google 表格

如果任何一个单元格可能为空,其他线程会建议使用 SumProduct。例如

=SumProduct(--(b1:b10<>“”),(b1:b10-a1:a10))

第一个参数提供一个 TRUE/FALSE 数组,表示 B 范围内的值是否为空,然后用于--将这些布尔值转换为 1 或 0。

另一个论点是所需的差异。

然后将 SumProduct 将这两个数组相乘,得出两列之间的总差值(不包括 B 范围内的缺失值)。

Excel

Excel 2010 对第二个参数抛出了 #VALUE! 错误。另一种方法是:

=(Sum(b1:b10)-SumProduct(--(b1:b10<>“”),a1:a10))/Count(b1:b10)

这种方法的唯一警告是,如果 B 范围内的所有单元格都为空,则会导致 #DIV/0!。

相关内容