
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?
Fórmulas utilizadas:
- Combinaciones[ID]:
=ROW()-ROW(Combinations[[#Headers],[ID]])
- Combinaciones[H1]:
=SUM(([@ID]=HelpingTable[H1])*1)
como fórmula matricial (confirmada porCTRL+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)
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