Automatisieren Sie den Vergleich einzelner Zeilen in einer Tabelle

Automatisieren Sie den Vergleich einzelner Zeilen in einer Tabelle

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:

Bildbeschreibung hier eingeben

Verwendete Formeln:


  • Kombinationen[ID]:=ROW()-ROW(Combinations[[#Headers],[ID]])
  • Kombinationen[H1]: =SUM(([@ID]=HelpingTable[H1])*1)als Matrixformel (bestätigt durch CTRL+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)

Bildbeschreibung hier eingeben

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

verwandte Informationen