自动比较表中的各个行

自动比较表中的各个行

我有一个数据集,其中包含一系列 10 个测量值,每个测量值都有 3 个坐标。我正在计算测量值之间的 3D 笛卡尔差异,即测量 1 与测量 2、测量 1 与测量 3 等。

我如何才能自动计算以获得所有可能的输出(1 对 2-10、2 对 3-10 等)?

谢谢

答案1

那这个呢:

在此处输入图片描述

所用公式:


  • 组合[ID]:=ROW()-ROW(Combinations[[#Headers],[ID]])
  • 组合[H1]:=SUM(([@ID]=HelpingTable[H1])*1)作为数组公式(经确认CTRL+SHIFT+ENTER
  • 组合[M1]:=SUM(INDEX([H1],1):[@H1])
  • 组合[M2]:=IF([@H1]=1,[@M1]+[@H1],OFFSET([@M2],-1,0)+1)
  • 组合[X1]:=INDEX(MeasurementTable[X],MATCH([@M1],MeasurementTable[Meas. No.],0))
  • 组合[Y1] 和组合[Z1] 只是改变里面的字母[]
  • 组合[X2]:=INDEX(MeasurementTable[X],MATCH([@M2],MeasurementTable[Meas. No.],0))
  • 组合[Y2] 和组合[Z2] 只是改变里面的字母[]
  • 组合[区别]:=SQRT(([@X1]-[@X2])^2+([@Y1]-[@Y2])^2+([@Z1]-[@Z2])^2)

  • 帮助表[测量]:=ROW()-ROW(HelpingTable[[#Headers],[Meas.]])
  • 帮助表[H1]:=ABS(((MAX([Meas.])-[@[Meas.]]+1)-1)/2*(MAX([Meas.])-[@[Meas.]]+1)-45)+1

MeasurementTable 仅包含数据 - 没有功能。

根据需要拉伸桌子。

组合表中所需的行:=COMBIN(<Measuremnt count>,2)

答案2

以下是我认为更传统的方法(使用与卢塞

在此处输入图片描述

建立一个带有行/列标题的表格(列 F 和行 1)。然后在单元格 G2 中使用距离公式(复制/粘贴以填充输出表):

=SQRT(SUM((VLOOKUP(G$1,Table1,SEQUENCE(,3,2),FALSE)-VLOOKUP($F2,Table1,SEQUENCE(,3,2),FALSE))^2))

分解:

SQRT(SUM(( - )^2))距离公式的外部部分

VLOOKUP(lookup_value)根据行/列标题确定第一个或第二个测量编号

SEQUENCE()返回表中第 2、3 或 4(X、Y、Z)列的值

透视 Lluser 的结果应该会产生与我所呈现的相同的输出表

相关内容