Después de verificar si existe un valor de celda en una columna, necesito obtener el valor de la celda junto a la celda correspondiente . Por ejemplo, verifico si el valor en cell A1
existe en column B
, y suponiendo que coincida B5
, quiero que el valor en cell C5
.
Para resolver la primera mitad del problema, hice esto ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")
...Y funcionó. Luego, gracias a una respuesta anterior en SO , también pude obtener el número de fila de la celda correspondiente:
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))
Entonces, naturalmente, para obtener el valor de la siguiente celda, intenté ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))
... y no funciona.
¿Qué me estoy perdiendo? ¿Cómo agrego el número de columna al número de fila devuelto para lograr el resultado deseado?
VLOOKUP(A1, B:C, 2, FALSE)
lugar de usar un rango fijo (para acomodar una matriz de búsqueda creciente).IFERROR
aquí. Funciona bien sin él, porque BUSCARV solo se ejecuta si hay una coincidencia.Después de la respuesta de t.thielemans , trabajé que solo
funciona bien y hace lo que quería, excepto que vuelve
#N/A
para no coincidencias; por lo que es adecuado para el caso en el que se sabe que el valor existe definitivamente en la columna de búsqueda.Editar (basado en el comentario de t.thielemans):
Para evitar
#N/A
que no coincidan, haga:fuente
IFERROR(VLOOKUP(A1, B:C, 2, FALSE),0)
. También agregué esto a mi respuesta. 0 es el valor que desee :) (usar esto en el código conducirá a No Match si no se encuentra ninguna coincidencia;)¿Qué tal esto?
El "3" al final significa para la columna C.
fuente