Verifique si el valor de la celda existe en la columna y luego obtenga el valor de la celda siguiente

89

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 A1existe 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?

Engancharse
fuente

Respuestas:

99

Utilice una función diferente, como BUSCARV:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
CustomX
fuente
1
¡Gracias! ¡Esto también funciona! Y creo que sería mejor usar en VLOOKUP(A1, B:C, 2, FALSE)lugar de usar un rango fijo (para acomodar una matriz de búsqueda creciente).
SNag
1
Sí, usé este rango fijo como prueba. Lo edité en mi respuesta.
CustomX
No es necesario IFERRORaquí. Funciona bien sin él, porque BUSCARV solo se ejecuta si hay una coincidencia.
SNag
¡Ups! Parece que he estado probando en la columna incorrecta: P De hecho, sin IFERROR, también funciona perfectamente: P
CustomX
3
Esto es más antiguo que viejo, pero solo quería decir que lo he estado usando durante años y realmente me molesta que nunca hayas recibido la mejor respuesta. Me encanta que hace que la tabla sea escalable para comparar varias columnas.
DuffDuff
36

Después de la respuesta de t.thielemans , trabajé que solo

=VLOOKUP(A1, B:C, 2, FALSE) 

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/Aque no coincidan, haga:

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")
Engancharse
fuente
3
Use esto en su lugar 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;)
CustomX