IF VLOOKUP en Excel: Fórmula Vlookup con condición If

  • Compartir Este
Michael Brown

El tutorial muestra cómo combinar V LOOKUP y la función IF juntos para v-lookup con condición if en Excel. También aprenderá a utilizar las fórmulas IF ISNA VLOOKUP para reemplazar los errores #N/A con su propio texto, cero o celda en blanco.

Aunque las funciones VLOOKUP e IF son útiles por sí solas, juntas ofrecen experiencias aún más valiosas. Este tutorial supone que recuerdas bien la sintaxis de las dos funciones; de lo contrario, quizá quieras repasar tus conocimientos siguiendo los enlaces anteriores.

    Vlookup con sentencia If: devuelve Verdadero/Falso, Sí/No, etc.

    Una de las situaciones más habituales cuando se combinan If y Vlookup es comparar el valor devuelto por Vlookup con un valor de muestra y devolver Sí / No o Verdadero / Falso como resultado.

    En la mayoría de los casos, la siguiente fórmula genérica funcionaría bien:

    IF(VLOOKUP(...) = valor TRUE, FALSE)

    Traducida al inglés, la fórmula indica a Excel que devuelva Verdadero si Vlookup es verdadero (es decir, igual al valor especificado). Si Vlookup es falso (no igual al valor especificado), la fórmula devuelve Falso .

    A continuación encontrará algunos usos reales de esta fórmula IF Vlookup.

    Ejemplo 1. Buscar un valor concreto

    Digamos que tiene una lista de artículos en la columna A y la cantidad en la columna B. Está creando un cuadro de mando para sus usuarios y necesita una fórmula que compruebe la cantidad de un artículo en E1 e informe al usuario de si el artículo está en stock o agotado.

    Se extrae la cantidad con un Vlookup regular con fórmula de coincidencia exacta como ésta:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    A continuación, escriba una sentencia IF que compare el resultado de Vlookup con cero, y devuelva "No" si es igual a 0, "Sí" en caso contrario:

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "No", "Sí")

    En lugar de Sí/No puede devolver VERDADERO/FALSO o En stock/ Agotado o cualquier otra de las dos opciones. Por ejemplo:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Agotado", "En stock")

    También puede comparar el valor devuelto por Vlookup con la muestra texto En este caso, asegúrese de entrecomillar la cadena de texto, como se indica a continuación:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="texto de muestra",TRUE,FALSE)

    Ejemplo 2. Comparar el resultado de Vlookup con otra celda

    Otro ejemplo típico de Vlookup con condición If en Excel es comparar la salida de Vlookup con un valor en otra celda. Por ejemplo, podemos comprobar si es mayor o igual que un número en la celda G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "¡Sí!", "No")

    Y aquí está nuestra fórmula If con Vlookup en acción:

    De forma similar, puede utilizar cualquier otro operador lógico junto con una referencia de celda en su fórmula de Excel If Vlookup.

    Ejemplo 3. Valores Vlookup en una lista más corta

    Para comparar cada celda de la columna de destino con otra lista y devolver Verdadero o si se encuentra una coincidencia, Falso o No de lo contrario, utilice esta fórmula genérica IF ISNA VLOOKUP:

    IF(ISNA( VLOOKUP(...)), "No", "Sí")

    Si Vlookup da como resultado el error #N/A, la fórmula devuelve "No", lo que significa que el valor de búsqueda no se encuentra en la lista de búsqueda. Si se encuentra la coincidencia, se devuelve "Sí". Por ejemplo:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "No", "Sí")

    Si su lógica de negocio requiere resultados opuestos, simplemente intercambie "Sí" y "No" para invertir la lógica de la fórmula:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Sí", "No")

    Excel Si Vlookup fórmula para realizar diferentes cálculos

    Además de mostrar sus propios mensajes de texto, la función If con Vlookup puede realizar diferentes cálculos basados en los criterios que especifique.

    Siguiendo con nuestro ejemplo, calculemos la comisión de un vendedor concreto (F1) en función de su efectividad: 20% de comisión para los que ganaron 200 $ o más, 10% para todos los demás.

    Para ello, se comprueba si el valor devuelto por Vlookup es mayor o igual que 200 y, en caso afirmativo, se multiplica por un 20% y, en caso contrario, por un 10%:

    =IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

    Donde A2:A10 son los nombres de los vendedores y C2:C10 son las ventas.

    IF ISNA VLOOKUP para ocultar errores #N/A

    Si la función VLOOKUP no puede encontrar un valor especificado, arroja un error #N/A. Para atrapar ese error y reemplazarlo con su propio texto, incruste una fórmula Vlookup en la prueba lógica de la función IF, así:

    IF(ISNA(VLOOKUP(...)), "No encontrado", VLOOKUP(...))

    Naturalmente, puede escribir el texto que desee en lugar de "No encontrado".

    Supongamos que tiene una lista de nombres de vendedores en una columna y los importes de las ventas en otra. Su tarea consiste en extraer un número correspondiente al nombre que el usuario introduce en F1. Si no se encuentra el nombre, muestre un mensaje indicándolo.

    Con los nombres en A2:A10 y las cantidades C2:C10, la tarea se puede realizar con la siguiente fórmula If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "No encontrado", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Si se encuentra el nombre, se devuelve el importe de venta correspondiente:

    Si no se encuentra el valor de búsqueda, la función No se ha encontrado en lugar del error #N/A:

    Cómo funciona esta fórmula

    La lógica de la fórmula es muy sencilla: se utiliza la función ISNA para comprobar si Vlookup contiene errores #N/A. Si se produce un error, ISNA devuelve TRUE, en caso contrario FALSE. Los valores anteriores pasan a la prueba lógica de la función IF, que realiza una de las siguientes acciones:

    • Si la prueba lógica es TRUE (error #N/A), se muestra su mensaje.
    • Si la prueba lógica es FALSE (se encuentra el valor de búsqueda), Vlookup devuelve una coincidencia normalmente.

    IFNA VLOOKUP en las nuevas versiones de Excel

    A partir de Excel 2013, puede utilizar la función IFNA en lugar de IF ISNA para capturar y gestionar errores #N/A:

    IFNA(VLOOKUP(...), " No se ha encontrado ")

    En nuestro ejemplo, la fórmula adoptaría la siguiente forma:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "No encontrado")

    Sugerencia: Si desea atrapar todo tipo de errores, no sólo #N/A, utilice VLOOKUP en combinación con la función IFERROR. Encontrará más detalles aquí: IFERROR VLOOKUP en Excel.

    Excel Vlookup: si no se encuentra devuelve 0

    Al trabajar con valores numéricos, es posible que desee devolver un cero cuando no se encuentre el valor de búsqueda. Para ello, utilice la fórmula IF ISNA VLOOKUP comentada anteriormente con una pequeña modificación: en lugar de un mensaje de texto, introduzca 0 en el campo value_if_true de la función IF:

    IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))

    En nuestra tabla de ejemplo, la fórmula sería la siguiente:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    En las versiones recientes de Excel 2016 y 2013, puede volver a utilizar la combinación IFNA Vlookup:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    Excel Vlookup: si no se encuentra devuelve la celda en blanco

    Esta es una variación más de la sentencia "Vlookup if then": no devolver nada cuando no se encuentra el valor de búsqueda. Para ello, indique a su fórmula que devuelva una cadena vacía ("") en lugar del error #N/A:

    IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))

    A continuación encontrará un par de ejemplos de fórmulas completas:

    Para todas las versiones de Excel:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Para Excel 2016 y Excel 2013:

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    If with Index Match - vlookup izquierdo con condición If

    Los usuarios experimentados de Excel saben que la función VLOOKUP no es la única forma de realizar búsquedas verticales en Excel. La combinación INDEX MATCH también puede utilizarse para este propósito y es incluso más potente y versátil. La buena noticia es que Index Match puede funcionar junto con IF exactamente de la misma forma que Vlookup.

    Por ejemplo, tiene números de pedido en la columna A y nombres de vendedores en la columna B. Está buscando una fórmula para obtener el número de pedido de un vendedor específico.

    Vlookup no se puede utilizar en este caso porque no puede buscar de derecha a izquierda. Index Match funcionará sin problemas siempre que el valor de búsqueda se encuentre en la columna de búsqueda. Si no, aparecerá un error #N/A. Para sustituir la notación de error estándar por su propio texto, anide Index Match dentro de IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "No encontrado", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))

    En Excel 2016 y 2016, puede utilizar IFNA en lugar de IF ISNA para que la fórmula sea más compacta:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "No encontrado")

    De forma similar, puede utilizar Index Match en otras fórmulas If.

    Así es como se utiliza Vlookup y la sentencia IF juntos en Excel. Para echar un vistazo más de cerca a las fórmulas discutidas en este tutorial, le invitamos a descargar nuestro libro de ejemplo a continuación. Gracias por leer y espero verte en nuestro blog la próxima semana!

    Cuaderno de prácticas para descargar

    Excel IF Vlookup - ejemplos de fórmulas (archivo .xlsx)

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.