如何找到两列之差的绝对值之和?

时间:2019-08-12 06:20:31

标签: algorithm google-sheets sum google-sheets-formula array-formulas

我正在尝试仅在一个单元格中找到Google表格中两列之间的Spearman's Footrule距离。 Spearman的Footrule距离基本上是通过将向量中每个索引处元素之间差异的绝对值相加而得出两个向量之间的距离。例如,(-1, 0, 2)(1, -1, 2)之间的距离为(|-1-1| + |0--1| + |2-2|) = (|-2|+|1|+|0|) = 2+1+0 = 3。我有一个公式可以找到两列之间的差异之和,但是我不知道如何使之成为差异的绝对值之和。

到目前为止,这就是我所拥有的:=SUMPRODUCT(B1:B3>A1:A3,B1:B3-A1:A3)。这恰好返回了应该返回的结果,但我希望它是差异的绝对值。我该如何实现?

侧面注:我必须在一个单元格中找到它,因为我的共同编辑不希望在此特定电子表格中有任何多余的列(隐藏或隐藏)。

电子表格(第一个工作表中的示例数据):https://docs.google.com/spreadsheets/d/12CXk-vzJxYaEhD1QsAXx25JRDDubnqV9zAvG2sc1ykw/edit#gid=64105883

2 个答案:

答案 0 :(得分:2)

你可以

=ARRAYFORMULA(SUM(ABS(A1:A3-B1:B3)))

ARRAYFORMULA非常适合将操作应用于多个范围/数组并将结果作为数组取回,以便您可以执行此操作(例如求和)。

  

启用从数组公式返回的值显示为多行和/或多列,以及将非数组函数与数组一起使用。

请参阅文档here

答案 1 :(得分:2)

这也可以:

=ARRAYFORMULA(SUM(SUBSTITUTE(A1:A3-B1:B3, "-", )*1))

0