
Ich habe einen Datensatz mit einer Reihe von 10 Messungen, die jeweils 3 Koordinaten haben. Ich berechne den 3D-kartesischen Unterschied zwischen den Messungen, also Messung 1 vs. Messung 2, Messung 1 vs. Messung 3 usw.
Wie könnte ich die Berechnung automatisieren, um alle möglichen Ergebnisse zu erhalten (1 vs. 2-10, 2 vs. 3-10 usw.)?
Danke
Antwort1
Wie wärs damit:
Verwendete Formeln:
- Kombinationen[ID]:
=ROW()-ROW(Combinations[[#Headers],[ID]])
- Kombinationen[H1]:
=SUM(([@ID]=HelpingTable[H1])*1)
als Matrixformel (bestätigt durchCTRL+SHIFT+ENTER
) - Kombinationen[M1]:
=SUM(INDEX([H1],1):[@H1])
- Kombinationen[M2]:
=IF([@H1]=1,[@M1]+[@H1],OFFSET([@M2],-1,0)+1)
- Kombinationen[X1]:
=INDEX(MeasurementTable[X],MATCH([@M1],MeasurementTable[Meas. No.],0))
- Kombinationen[Y1] und Kombinationen[Z1] ändern einfach den Buchstaben darin
[]
- Kombinationen[X2]:
=INDEX(MeasurementTable[X],MATCH([@M2],MeasurementTable[Meas. No.],0))
- Kombinationen[Y2] und Kombinationen[Z2] ändern einfach den Buchstaben darin
[]
- Kombinationen[Unterschied]:
=SQRT(([@X1]-[@X2])^2+([@Y1]-[@Y2])^2+([@Z1]-[@Z2])^2)
- Hilfstabelle[Meas.]:
=ROW()-ROW(HelpingTable[[#Headers],[Meas.]])
- Hilfetabelle[H1]:
=ABS(((MAX([Meas.])-[@[Meas.]]+1)-1)/2*(MAX([Meas.])-[@[Meas.]]+1)-45)+1
Die Messtabelle enthält nur Daten – keine Funktionen.
Dehnen Sie Tabellen nach Bedarf.
Erforderliche Zeilen in der Kombinationstabelle:=COMBIN(<Measuremnt count>,2)
Antwort2
Hier ist, was ich für einen traditionelleren Ansatz halte (unter Verwendung derselben Daten wieLluser)
Erstellen Sie eine Tabelle mit Zeilen-/Spaltenüberschriften (Spalte F und Zeile 1). Verwenden Sie dann in Zelle G2 die Distanzformel (kopieren/einfügen, um die Ausgabetabelle zu füllen):
=SQRT(SUM((VLOOKUP(G$1,Table1,SEQUENCE(,3,2),FALSE)-VLOOKUP($F2,Table1,SEQUENCE(,3,2),FALSE))^2))
abbauen:
SQRT(SUM(( - )^2))
äußerer Teil der Distanzformel
VLOOKUP(lookup_value)
Bestimmen der ersten oder zweiten Messnummer basierend auf der Zeilen-/Spaltenüberschrift
SEQUENCE()
gibt den 2., 3. oder 4. (X, Y, Z) Spaltenwert aus der Tabelle zurück
Das Pivotieren der Ergebnisse von Lluser sollte zur gleichen Ausgabetabelle führen, wie ich sie vorstelle