Automatizar la comparación de filas individuales en una tabla

Automatizar la comparación de filas individuales en una tabla

Tengo un conjunto de datos que contiene una serie de 10 mediciones, cada una de las cuales tiene 3 coordenadas. Estoy calculando la diferencia cartesiana 3D entre medidas, es decir, medida 1 frente a medida 2, medida 1 frente a medida 3, etc.

¿Cómo podría automatizar el cálculo para obtener todos los resultados posibles (1 frente a 2-10, 2 frente a 3-10, etc.)?

Gracias

Respuesta1

¿Qué pasa con esto?

ingrese la descripción de la imagen aquí

Fórmulas utilizadas:


  • Combinaciones[ID]:=ROW()-ROW(Combinations[[#Headers],[ID]])
  • Combinaciones[H1]: =SUM(([@ID]=HelpingTable[H1])*1)como fórmula matricial (confirmada por CTRL+SHIFT+ENTER)
  • Combinaciones[M1]:=SUM(INDEX([H1],1):[@H1])
  • Combinaciones[M2]:=IF([@H1]=1,[@M1]+[@H1],OFFSET([@M2],-1,0)+1)
  • Combinaciones[X1]:=INDEX(MeasurementTable[X],MATCH([@M1],MeasurementTable[Meas. No.],0))
  • Combinaciones[Y1] y Combinaciones[Z1] simplemente cambian la letra dentro[]
  • Combinaciones[X2]:=INDEX(MeasurementTable[X],MATCH([@M2],MeasurementTable[Meas. No.],0))
  • Combinaciones[Y2] y Combinaciones[Z2] simplemente cambian la letra dentro[]
  • Combinaciones[Diferencia]:=SQRT(([@X1]-[@X2])^2+([@Y1]-[@Y2])^2+([@Z1]-[@Z2])^2)

  • Tabla de ayuda[Medidas]:=ROW()-ROW(HelpingTable[[#Headers],[Meas.]])
  • Tabla de ayuda[H1]:=ABS(((MAX([Meas.])-[@[Meas.]]+1)-1)/2*(MAX([Meas.])-[@[Meas.]]+1)-45)+1

La tabla de medidas contiene únicamente datos, no funciones.

Estire las mesas según sea necesario.

Filas necesarias en la tabla de Combinaciones:=COMBIN(<Measuremnt count>,2)

Respuesta2

Esto es lo que considero un enfoque más tradicional (usando los mismos datos queLlúser)

ingrese la descripción de la imagen aquí

Cree una tabla con encabezados de filas/columnas (Columna F y Fila 1). Luego, en la celda G2 use la fórmula de distancia (copiar/pegar para completar la tabla de salida):

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

descomponer:

SQRT(SUM(( - )^2))fórmula de la parte exterior de la distancia

VLOOKUP(lookup_value)determinar el primer o segundo número de medida según el encabezado de fila/col

SEQUENCE()devuelve el valor de la columna 2, 3 o 4 (X, Y, Z) de la tabla

Pivotar los resultados de Lluser debería dar como resultado la misma tabla de resultados que presento

información relacionada