Estoy tratando de hacer referencia a una sola fila, un estado diferente y su fecha correspondiente. Cada uno de estos valores se almacena en columnas con referencias afiliadas (= duplicadas) y debajo de cada estado hay celdas en blanco. Lo único bueno es que los valores se afirman de mayor a menor en cada estado correspondiente. Por lo tanto, necesito hacer coincidir una condición específica para recuperar el enésimo (más pequeño o más grande) valor en lugar de la primera coincidencia.
microsoft-excel
John12341
fuente
fuente
Respuestas:
Aquí hay una forma de usar fórmulas de matriz. En lugar de usar los valores de encabezado (iniciado, retirado, etc.) creé fórmulas separadas para cada columna. Esto simplifica el enfoque y no debería ser una carga a menos que tenga muchas columnas de estado. También supongo que desearía que estas fórmulas comenzaran en la fila 3.
Nota: Ambas son fórmulas de matriz y deberá ingresar como Ctrl+ Shft+ Enter(CSE).
Póngalos en la celda designada, CSE, y luego arrástrelos hacia abajo.
K3
:{=IFERROR(INDEX($E$2:$E$14,MATCH(1,(I3=$C$2:$C$14)*(MIN((IF($E$2:$E$14="",1000000,$E$2:$E$14))*(IF(I3=$C$2:$C$14,1,1000000)))=$E$2:$E$14),0),0),"")}
Para
MIN
que funcione correctamente en una fórmula de matriz, tuve que usarIF
declaraciones que regresan1,000,000
cuando no coincide con su referencia o está en blanco. Ese valor es solo un número arbitrario y solo debe ser mayor que cualquier valor de fecha. (¡Recuerde, las fechas se almacenan como números y1,000,000
serían una fecha en algún momento del año 4637!) Sin esto, laMIN
función encuentra el valor más bajo en la matriz, que será0
.L3
:{=INDEX($F$2:$F$14,MATCH(1,(I3=$C$2:$C$14)*(MAX(($F$2:$F$14)*(I3=$C$2:$C$14))=$F$2:$F$14),0),0)}
Observe que la fórmula en la columna L regresará
0
si no se encuentra nada. En lugar de complicar la fórmula, puede configurar el formato para que seadd.mm.yy;;;@
, lo que ocultará el valor cero. La fórmula en la columna K devolverá un error si no se encuentra nada, así que lo envolví en unaIFERROR
declaración.fuente
Cómo funciona:
Escriba esta fórmula en la celda
G2
y complete.NB Esta es una fórmula de matriz y debe confirmarse con
Ctrl+Shift+Enter
.En Cell
H2
escriba esta fórmula de matriz, confirme con Ctrl + Shift + Enter y complete.Escriba esta fórmula de matriz en el
I2
acabado de celda con Ctrl + Shift + Enter y rellene.La fórmula de matriz en la celda se
J2
debe terminar con Ctrl + Shift + Enter y rellenar.Nota:
fuente
Queridos, gracias por sus respuestas, he descubierto una forma más fácil de unir y extraer estos datos.
Fórmula para recuperar el valor más pequeño: = IFERROR (LOOKUP (1000000; 1 / (($ A $ 2: $ A $ 3169 = G2) * ($ B $ 2: $ B $ 3169 <> "")); $ B $ 2: $ B $ 3169); "")
Fórmula para recuperar el valor más grande = IFERROR (INDEX (D $ 2: D $ 3149; MATCH (1; - ($ A $ 2: $ A $ 3149 = $ G2) * - (D $ 2: D $ 3149 <> ""); 0); 1); "")
Saludos, Solución
fuente