valor - Comparando dos columnas y devolviendo una celda adyacente específica en Excel
comparar dos columnas en excel y resaltar repetidos (4)
Estoy usando una combinación de vlookup
if
, vlookup
, match
, iserror
y, desafortunadamente, no he podido encontrar la fórmula correcta.
Comparar dos columnas para los partidos es bastante fácil. la parte difícil ha sido devolver una celda específica una vez que se encuentra una coincidencia.
Entonces, con lo que estoy tratando es algo como esto:
Header Column A Column B Column C Column D
Row 1 111 AAA 112
Row 2 222 BBB 111
Row 3 333 CCC 221
Row 4 444 DDD 333
Estoy intentando hacer coincidir los valores de columna en la Column A
, con la Column C
Entonces, si hay coincidencia, quiero que el valor correspondiente en la Column B
rellene en la Column D
No es una gran explicación, pero permítanme mostrarles visualmente lo que estoy buscando
Header Column A Column B Column C Column D
Row 2 111 AAA 112
Row 3 222 BBB 111 AAA
Row 4 333 CCC 221
Row 5 444 DDD 333 CCC
Dado que las celdas A1
coinciden con la celda C3
, quiero que D
devuelva B2
Lo mismo con la fila 5
. Como A4
y C5
coinciden, quiero el valor para B5
Avíseme si esto tiene sentido o si necesita más aclaraciones.
En la celda D2 y copiado hacia abajo:
=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE))
Esto es lo que necesita ir en D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)
Debería poder copiar esto al resto de la columna D.
Te aconsejaría que cambies las columnas B y C por la razón que voy a explicar. Luego, en D2 escriba: = VLOOKUP (A2, B2: C4, 2, FALSE)
Finalmente, copie la fórmula para las celdas restantes.
Explicación: VLOOKUP primero encontrará el valor de A2 en el rango de B2 a C4 (segundo argumento). NOTA: VLOOKUP siempre busca la primera columna en este rango. Esta es la razón por la que debe intercambiar las dos columnas antes de hacer cualquier cosa.
Una vez que se encuentra la coincidencia exacta, devolverá el valor en la celda adyacente (tercer argumento).
Esto significa que, si pone 1 como el tercer argumento, la función devolverá el valor en la primera columna del rango (que será el mismo valor que estaba buscando). Si coloca 2, devolverá el valor de la segunda columna en el rango (el valor en la celda adyacente-LADO DERECHO del valor encontrado).
FALSE indica que está encontrando la coincidencia exacta. Si pones TRUE, estarás buscando la coincidencia aproximada.
Muy similar a esta pregunta , y sugeriría la misma fórmula en la columna D, aunque con algunos cambios en los rangos:
=IFERROR(VLOOKUP(C1, A:B, 2, 0), "")
Si quisieras usar Match, tendrías que usar INDEX
también, así:
=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "")
pero esto es muy largo para mí y necesitas saber cómo usar correctamente dos funciones (o tres, si no sabes cómo funciona IFERROR
).
Nota: =IFERROR()
puede ser un sustituto de =IF()
y =ISERROR()
en algunos casos :)