
それぞれ 3 つの座標を持つ 10 個の測定値のシリーズを含むデータセットがあります。測定値間の 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))
- Combinations[Y1]とCombinations[Z1]は内部の文字を変更するだけです
[]
- 組み合わせ[X2]:
=INDEX(MeasurementTable[X],MATCH([@M2],MeasurementTable[Meas. No.],0))
- Combinations[Y2]とCombinations[Z2]は内部の文字を変更するだけです
[]
- 組み合わせ[違い]:
=SQRT(([@X1]-[@X2])^2+([@Y1]-[@Y2])^2+([@Z1]-[@Z2])^2)
- HelpingTable[測定]:
=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)
行/列ヘッダーに基づいて最初の測定番号または2番目の測定番号を決定する
SEQUENCE()
テーブルの2、3、または4番目の(X、Y、Z)列の値を返します。
Lluserの結果をピボットすると、私が提示したものと同じ出力テーブルが得られるはずです。