Combina VLOOKUP() con IF() para un análisis eficaz de los datos, incluyendo búsquedas condicionales, gestión de errores e indexación dinámica de columnas.
Si gestionas grandes conjuntos de datos en Excel, sabes lo difícil que es organizarlos y analizarlos con eficacia. Pero tengo una solución para ti: Puedes anidar la función VLOOKUP() dentro de una sentencia IF() para crear búsquedas dinámicas basadas en condiciones específicas. Utilizando este enfoque, puedes consultar diferentes tablas en función de una condición y también puedes gestionar los errores con más elegancia.
En concreto, VLOOKUP() encuentra puntos de datos concretos dentro de una tabla, y las sentencias IF() te permiten tomar decisiones condicionales basadas en esos datos. Ambas funciones son, como sabemos, extremadamente importantes. En este artículo, añadiremos otra herramienta a la caja de herramientas: Aprenderás cómo puedes aprovechar la potencia de estas dos funciones juntas para realizar búsquedas condicionales, y lo ilustraremos con ejemplos prácticos.
La respuesta rápida: Cómo combinar VLOOKUP() e IF()
Para crear una búsqueda condicional, empieza con una sentencia IF() y utiliza VLOOKUP() dentro de ella para devolver resultados diferentes en función de una condición. Podemos utilizar el siguiente código para comprobar si un producto está en stock en función de su cantidad. Sólo tienes que seguir estos pasos:
Empieza con la función IF(): =IF()
Dentro de la función IF(), utiliza VLOOKUP().
=IF(VLOOKUP(C2, $A$2:$B$6, 2, FALSE) > 0, "In Stock", "Out of Stock")Con la tecnología de
Comprender las sentencias VLOOKUP() e IF() en Excel
VLOOKUP() te ayuda a encontrar datos en una tabla, mientras que las sentencias IF() te permiten decidir basándote en esos datos. Juntos, ayudan a analizar la información de las hojas de cálculo. Veamos cada función por separado y luego unámoslas.
¿Qué es VLOOKUP() en Excel?
VLOOKUP() busca un valor concreto en la primera columna de un rango y devuelve un valor de otra columna de la misma fila. Aquí tienes la sintaxis para que puedas utilizar la fórmula VLOOKUP() para tus grandes conjuntos de datos.
Search_key es el valor que quieres buscar. Puede ser un número, un texto o una referencia a una celda que contenga el valor buscado.
Range define el rango de celdas que contiene los datos. La primera columna de este rango debe contener la dirección search_key.
Index es el número de columna del rango del que quieres recuperar el valor. La primera columna es 1, la segunda es 2, y así sucesivamente.
Is_sorted es un valor lógico (TRUE o FALSE). Puedes utilizar TRUE (o 1) para los números y FALSE (o 0) para el texto. Si TRUE, VLOOKUP() asume que la primera columna del rango está ordenada de forma ascendente y devuelve la coincidencia más cercana. Si FALSE, VLOOKUP() busca una coincidencia exacta. Si no se especifica el argumento, TRUE es el valor por defecto.
Entendámoslo con un ejemplo. Aquí tengo una lista de productos con sus ID y precios. Quiero encontrar los precios de productos concretos basándome en su nombre.
Lista de productos con su ID y precios. Fuente: Imagen del autor.
Para empezar, busco específicamente el precio de una tablet. Para ello, introduzco un valor search_key (en mi caso, Tablet) para encontrar el precio en cualquier celda.
Introduce el valor para encontrar su precio. Fuente: Imagen del autor.
A continuación, selecciono una celda y escribo =VLOOKUP().
Escribiendo la fórmula VLOOKUP(). Fuente: Imagen del autor.
A continuación, selecciono la celda donde se introdujo search_key.
Seleccionando la columna donde se encuentra el producto. Fuente: Imagen del autor.
A continuación, selecciono el rango de la tabla.
Seleccionar el rango de la tabla. Fuente: Imagen del autor.
Contando desde la izquierda, introduzco el número de una columna de la que quería recuperar los datos. Aquí quiero saber el precio, así que introduzco 2.
Seleccionar el índice de las columnas. Fuente: Imagen del autor.
Después, escribo FALSE para obtener la coincidencia exacta.
Escribiendo FALSE para la coincidencia exacta. Fuente: Imagen del autor.
Después de rellenar todos los valores, pulso Intro:
Utilizando VLOOKUP(), se obtiene el precio del producto. Fuente: Imagen del autor.
Como puedes ver en la imagen, VLOOKUP() recupera con éxito el precio.
¿Qué es IF() en Excel?
IF() comparan los valores y los contrastan con la condición especificada. Ésta es la sintaxis:
Logical_test es el valor o expresión que quieres evaluar como TRUE o FALSE. Esta es la condición que quieres comprobar.
Value_if_true devuelve el valor si logical_test es TRUE.
Value_if_false devuelve el valor si logical_test es FALSE.
Pongamos un ejemplo. Aquí quiero hacer observaciones a los alumnos en función de sus notas. Así que preparo la hoja con dos columnas: ALUMNOS y GRADOS.
Una hoja que contiene la lista de alumnos con sus calificaciones. Fuente: Imagen del autor.
Selecciono una celda y escribo =IF(). Mi objetivo es comprobar si los números totales son mayores que 50 y entonces imprimo Excellent, o bien, si la nota es menor que 50, imprimo Bad. Tras especificar las condiciones, pulso Intro para obtener los resultados.
Asignar observaciones a todos los alumnos mediante la sentencia SI. Fuente: Imagen del autor.
Luego, copio la fórmula a la última celda rellenada arrastrándola. Puedes ver los resultados. He asignado observaciones a todos los alumnos con una sola fórmula.
Formas de combinar VLOOKUP() con IF() en Excel
Veamos ejemplos prácticos para comprender cómo funciona VLOOKUP() con IF().
Consultas condicionales
Para crear una búsqueda condicional, como hemos dicho, empieza con una sentencia IF() y utiliza VLOOKUP() dentro de ella para devolver resultados diferentes en función de una condición.
Empieza con la función IF(): =IF().
Dentro de la función IF(), utiliza VLOOKUP().
Probemos con un nuevo ejemplo: Aquí tengo una lista de pedidos de productos con sus correspondientes horas de pedido. Quiero ver si se ha pedido un producto concreto antes de las 12:00 PM.
Una tabla que contiene la lista de productos junto con el ID del pedido y la hora. Fuente: Imagen del autor.
Primero, selecciono una columna e introduzco la siguiente fórmula:
=IF(VLOOKUP(A3, A2:C5,3, FALSE) < TIME(12, 0, 0), "Ordered Before Noon", "Ordered After Noon")Con la tecnología de
Aquí, la función VLOOKUP() busca Banana en la columna A y devuelve el tiempo de pedido correspondiente de la columna B.
La sentencia IF() comprueba si el tiempo de pedido es inferior a 12. Si es así, devuelve Ordered Before Noon. En caso contrario, devuelve Ordered After Noon.
Calcular el plazo de entrega combinando la fórmula IF() y VLOOKUP(). Fuente: Imagen del autor.
Puedes ver cómo realizo fácilmente el seguimiento de las entregas de mis productos deseados utilizando búsquedas condicionales.
Tratamiento de errores
Para tratar los errores, empieza con una declaración IF() y utiliza ISNA() con VLOOKUP() dentro para comprobar si hay errores. Por ejemplo, para mostrar un mensaje personalizado si no se encuentra un producto:
Empieza con la función IF(): =IF().
Dentro de la función IF(), utiliza ISNA() con VLOOKUP() para comprobar si hay errores.
Aclaremos esto con un ejemplo. Digamos que tengo una tabla con precios de productos y quiero mostrar un mensaje personalizado cada vez que no se encuentre un producto.
Una tabla que contiene una lista de productos y sus precios. Fuente: Imagen del autor.
Para ello, selecciono una celda e introduzco la siguiente fórmula para encontrar el precio:
Después, lo combino con ISNA() y IF() para gestionar los posibles errores.
=IF(ISNA(VLOOKUP(B7, $A$2:$B$5, 2, FALSE)), "Product Not Found", (VLOOKUP(B7, $A$2:$B$5, 2, FALSE)))Con la tecnología de
Tratamiento de errores combinando fórmulas IF() e ISNA(). Fuente: Imagen del autor.
Aquí, ISNA() comprueba si la función VLOOKUP() devuelve un error #N/A, lo que ocurriría si no estuviera disponible. En otras palabras, si ISNA() se evalúa como TRUE, la sentencia IF() devuelve Product Not Found; en caso contrario, devuelve el precio de VLOOKUP().
Indexación dinámica de columnas
Para elegir dinámicamente el índice de columna para VLOOKUP(), empieza con una sentencia IF() y utiliza VLOOKUP() dentro de ella para seleccionar distintas columnas en función de una condición. Por ejemplo, para buscar diferentes columnas en función de un valor umbral:
Empieza con la función IF(): =IF().
Dentro de la función IF(), utiliza VLOOKUP() para comprobar el umbral y seleccionar la columna.
Aquí tengo una tabla de productos con la columna A con los nombres de los productos, la columna B con los precios de los productos y la columna C con la cantidad de existencias. Quiero consultar el precio del producto o la cantidad de existencias en función de si el precio está por encima o por debajo de un determinado umbral, como 50.
Una tabla que contiene una lista de productos, sus ID y sus precios. Fuente: Imagen del autor.
Selecciono una celda e introduzco la siguiente fórmula:
=IF(VLOOKUP(B9, $B$9:$D$14, 2, FALSE) > 50, VLOOKUP(B9,$B$9:$D$14, 3, FALSE), VLOOKUP(B9,$B$9:$D$14, 2, FALSE))Con la tecnología de
Aplicar IF con VLOOKUP() anidado. Fuente: Imagen del autor.
Así es como funciona la fórmula:
(VLOOKUP(B9, $B$9:$D$14, 2, FALSE) busca el producto en B9 desde la columna A y devuelve el precio desde la columna C.
La declaración IF() comprueba si el precio es superior a $50.
Si es verdadero, nuestro código devuelve la cantidad de existencias: VLOOKUP(B9,$B$9:$D$14, 3, FALSE).
Si es falso, nuestro código devuelve el ID del producto: VLOOKUP(B9,$B$9:$D$14, 2, FALSE)).
Si trabajas con un conjunto de datos muy grande, puedes copiar la fórmula arrastrándola a la última celda rellenada.
Mostrando resultados. Fuente: Imagen del autor.
Y ya está. Como puedes ver, podemos recuperar la información deseada basándonos en condiciones específicas utilizando una fórmula combinada.
Técnicas avanzadas con VLOOKUP() e IF()
Ahora que ya tienes nociones básicas sobre la combinación de declaraciones IF() con VLOOKUP(), vamos a aprender algunas técnicas avanzadas a partir de ejemplos que he probado por mi cuenta.
Combinar varios criterios
Si buscas datos basándote en varios criterios, puedes combinar varias funciones VLOOKUP() dentro de una sentencia IF() para comprobar si se cumplen todas las condiciones.
Aquí tengo una tabla con los datos de compra del cliente y el estado de afiliación. Y quiero comprobar si un cliente era elegible para un programa de fidelización, que requiere al menos 500 en COMPRA TOTAL ($) y Gold como ESTATUS DE MIEMBRO.
Una tabla con los datos de los clientes. Fuente: Imagen del autor.
Creo otra columna llamada Elegibilidad, que muestra los criterios de elegibilidad. A continuación, escribo la siguiente fórmula y pulso Intro:
=IF(AND(VLOOKUP(B2, $B$2:$D$11, 2, FALSE) >= 500, VLOOKUP(B2, $B$2:$D$11, 3, FALSE) = "Gold"), "Eligible", "Not Eligible")Con la tecnología de
Comprueba los criterios de elegibilidad de los clientes combinando varios criterios. Fuente: Imagen del autor.
Así es como funciona esta fórmula:
VLOOKUP(B2, $B$2:$D$11, 2, FALSE) >= 500 comprueba si el total de compras del cliente es como mínimo $500.
VLOOKUP(B2, $B$2:$D$11, 3, FALSE) = "Gold") comprueba si el estado de afiliación de Juan era Gold.
AND combina las condiciones para asegurarte de que ambas son verdaderas.
IF() devolvía Eligible cuando ambas condiciones eran verdaderas. En caso contrario, devolvía Not Eligible.
Utilizar VLOOKUP() con IF() para cálculos
Puedes utilizar VLOOKUP() para encontrar un valor y luego aplicar una sentencia IF() para realizar cálculos basados en ese valor.
Aquí preparo una hoja con los productos y sus precios. Luego, quiero aplicar un descuento del 10% a los productos de más de 100 €.
Una tabla que contiene una lista de productos con sus precios. Fuente: Imagen del autor.
Así que creo otra columna llamada DESCUENTO y escribo la siguiente fórmula en esa columna para mostrar el descuento.
=IF(VLOOKUP(A2, $A$2:$B$10, 2, FALSE) > 100, VLOOKUP(A2, $A$2:$B$10, 2, FALSE) * 0.9, VLOOKUP(A2, $A$2:$B$10, 2, FALSE))Con la tecnología de
A continuación te explicamos cómo funciona esta fórmula:
VLOOKUP(A2, $A$2:$B$10, 2, FALSE) recuperó el precio del producto, que es 56.
=IF(VLOOKUP(A2, $A$2:$B$10, 2, FALSE) > 100, ..., ...) comprueba si el precio del producto es superior a 100.
Como la condición es verdadera, VLOOKUP(A2, $A$2:$B$10, 2, FALSE) * 0.9 aplicó un descuento del 10%.
(VLOOKUP(A2, $A$2:$B$10, 2, FALSE)) imprimió los precios reales del producto cuando la condición de descuento no era cierta.
Así obtuve el resultado final de la fórmula del producto, que fue 135. Para obtener los resultados deseados para todos los productos, puedes arrastrar hacia abajo la fórmula y copiarla en la última celda rellenada.
Utilizar VLOOKUP() con IF para calcular los descuentos de los productos cuyos precios sean superiores a 100. Fuente: Imagen del autor.
Manejo de grandes conjuntos de datos
También puedes combinar VLOOKUP() con la función IF() para agilizar la recuperación de datos y la gestión de errores cuando trabajes con conjuntos de datos enormes.
Éste es nuestro último ejemplo: Tengo una hoja con información sobre los empleados, y quiero recuperar el departamento de un empleado y tratar los casos en los que el ID del empleado no existe.
Una tabla que contiene una lista de empleados con sus ID y Departamentos. Fuente: Imagen del autor.
Así que seleccioné una celda y escribí la siguiente fórmula:
Después de pulsar Intro, arrastro la fórmula para copiarla también en otras celdas.
Recuperar el departamento del empleado a través del ID y gestionar los errores si no se encuentra al empleado. Fuente: Imagen del autor.
Y puedes ver los resultados más arriba. Así es como funciona esta fórmula:
El VLOOKUP(E3, $A$2:$C$18, 3, FALSE) recupera el departamento del empleado.
IFERROR gestiona los errores. En lugar de mostrar un mensaje de error (#N/A), mostrará un mensaje amigable y personalizado.
En pocas palabras, ya no tienes que rebuscar en las sábanas. Porque cuando combinas las declaraciones VLOOKUP() y IF(), puedes abordar fácilmente en Excel incluso los conjuntos de datos más grandes.
Reflexiones finales
Combinando VLOOKUP() con las declaraciones IF(), puedes crear hojas de cálculo más precisas y resistentes a los errores. Asegúrate de experimentar con los ejemplos que he compartido para ver cómo estas técnicas pueden simplificar las tareas de gestión de datos y mejorar tus habilidades con Excel.
Si quieres mejorar tus conocimientos, echa un vistazo a nuestro curso Introducción a Excel y, a continuación, actualízate a la pista de conocimientos Fundamentos de Excel para dominar los aspectos básicos. Una vez que te sientas cómodo con estas funciones, avanza en tus habilidades analíticas con nuestro curso de Análisis de Datos en Excel. Pero si lo tuyo son más las finanzas, echa un vistazo a nuestro curso de Modelización Financiera en Excel para integrar conocimientos financieros.
Además, nuestro curso Preparación de datos en Excel te ayudará a agilizar el proceso de limpieza de datos, y el curso Visualización de datos en Excel te ayudará a presentar tus datos de forma atractiva.
Preguntas frecuentes
¿Puede VLOOKUP() manejar múltiples criterios?⌄
VLOOKUP() sola no puede manejar criterios múltiples, pero puedes utilizarla dentro de una sentencia IF() o combinarla con otras funciones como AND para conseguirlo.
¿Cuál es la diferencia entre TRUE y FALSE en la función VLOOKUP()?⌄
TRUE (u omitido) significa una coincidencia aproximada, mientras que FALSE especifica una coincidencia exacta para el valor de búsqueda.
¿Cuál es el papel de la función AND al combinar VLOOKUP() con IF()?⌄
AND comprueba varias condiciones dentro de una sentencia IF() para permitir criterios más complejos en las operaciones de VLOOKUP().
XLOOKUP() busca en cualquier dirección, usa de forma predeterminada coincidencias exactas y tiene gestión de errores integrada, mientras que VLOOKUP() solo busca a la derecha y necesita una indexación manual de las columnas.
Adquiere las habilidades esenciales que necesitas para utilizar Excel, desde preparar datos hasta escribir fórmulas y crear visualizaciones. No se requiere experiencia previa.
Si gestionas grandes conjuntos de datos en Excel, sabes lo difícil que es organizarlos y analizarlos con eficacia. Pero tengo una solución para ti: Puedes anidar la función
VLOOKUP()dentro de una sentenciaIF()para crear búsquedas dinámicas basadas en condiciones específicas. Utilizando este enfoque, puedes consultar diferentes tablas en función de una condición y también puedes gestionar los errores con más elegancia.En concreto,
VLOOKUP()encuentra puntos de datos concretos dentro de una tabla, y las sentenciasIF()te permiten tomar decisiones condicionales basadas en esos datos. Ambas funciones son, como sabemos, extremadamente importantes. En este artículo, añadiremos otra herramienta a la caja de herramientas: Aprenderás cómo puedes aprovechar la potencia de estas dos funciones juntas para realizar búsquedas condicionales, y lo ilustraremos con ejemplos prácticos.La respuesta rápida: Cómo combinar VLOOKUP() e IF()
Para crear una búsqueda condicional, empieza con una sentencia
IF()y utilizaVLOOKUP()dentro de ella para devolver resultados diferentes en función de una condición. Podemos utilizar el siguiente código para comprobar si un producto está en stock en función de su cantidad. Sólo tienes que seguir estos pasos:Empieza con la función
IF():=IF()Dentro de la función
IF(), utilizaVLOOKUP().Comprender las sentencias VLOOKUP() e IF() en Excel
VLOOKUP()te ayuda a encontrar datos en una tabla, mientras que las sentenciasIF()te permiten decidir basándote en esos datos. Juntos, ayudan a analizar la información de las hojas de cálculo. Veamos cada función por separado y luego unámoslas.¿Qué es VLOOKUP() en Excel?
VLOOKUP()busca un valor concreto en la primera columna de un rango y devuelve un valor de otra columna de la misma fila. Aquí tienes la sintaxis para que puedas utilizar la fórmulaVLOOKUP()para tus grandes conjuntos de datos.Desglosemos esta sintaxis y entendámosla:
Search_keyes el valor que quieres buscar. Puede ser un número, un texto o una referencia a una celda que contenga el valor buscado.Rangedefine el rango de celdas que contiene los datos. La primera columna de este rango debe contener la direcciónsearch_key.Indexes el número de columna del rango del que quieres recuperar el valor. La primera columna es 1, la segunda es 2, y así sucesivamente.Is_sortedes un valor lógico (TRUEoFALSE). Puedes utilizarTRUE(o1) para los números yFALSE(o0) para el texto. SiTRUE,VLOOKUP()asume que la primera columna del rango está ordenada de forma ascendente y devuelve la coincidencia más cercana. SiFALSE,VLOOKUP()busca una coincidencia exacta. Si no se especifica el argumento,TRUEes el valor por defecto.Entendámoslo con un ejemplo. Aquí tengo una lista de productos con sus ID y precios. Quiero encontrar los precios de productos concretos basándome en su nombre.
Lista de productos con su ID y precios. Fuente: Imagen del autor.
Para empezar, busco específicamente el precio de una tablet. Para ello, introduzco un valor
search_key(en mi caso,Tablet) para encontrar el precio en cualquier celda.Introduce el valor para encontrar su precio. Fuente: Imagen del autor.
A continuación, selecciono una celda y escribo
=VLOOKUP().Escribiendo la fórmula VLOOKUP(). Fuente: Imagen del autor.
A continuación, selecciono la celda donde se introdujo
search_key.Seleccionando la columna donde se encuentra el producto. Fuente: Imagen del autor.
A continuación, selecciono el rango de la tabla.
Seleccionar el rango de la tabla. Fuente: Imagen del autor.
Contando desde la izquierda, introduzco el número de una columna de la que quería recuperar los datos. Aquí quiero saber el precio, así que introduzco
2.Seleccionar el índice de las columnas. Fuente: Imagen del autor.
Después, escribo
FALSEpara obtener la coincidencia exacta.Escribiendo FALSE para la coincidencia exacta. Fuente: Imagen del autor.
Después de rellenar todos los valores, pulso Intro:
Utilizando VLOOKUP(), se obtiene el precio del producto. Fuente: Imagen del autor.
Como puedes ver en la imagen,
VLOOKUP()recupera con éxito el precio.¿Qué es IF() en Excel?
IF()comparan los valores y los contrastan con la condición especificada. Ésta es la sintaxis:Veamos las partes clave para entenderlo:
Logical_testes el valor o expresión que quieres evaluar comoTRUEoFALSE. Esta es la condición que quieres comprobar.Value_if_truedevuelve el valor silogical_testesTRUE.Value_if_falsedevuelve el valor silogical_testesFALSE.Pongamos un ejemplo. Aquí quiero hacer observaciones a los alumnos en función de sus notas. Así que preparo la hoja con dos columnas: ALUMNOS y GRADOS.
Una hoja que contiene la lista de alumnos con sus calificaciones. Fuente: Imagen del autor.
Selecciono una celda y escribo
=IF(). Mi objetivo es comprobar si los números totales son mayores que50y entonces imprimoExcellent, o bien, si la nota es menor que50, imprimoBad. Tras especificar las condiciones, pulso Intro para obtener los resultados.Asignar observaciones a todos los alumnos mediante la sentencia SI. Fuente: Imagen del autor.
Luego, copio la fórmula a la última celda rellenada arrastrándola. Puedes ver los resultados. He asignado observaciones a todos los alumnos con una sola fórmula.
Formas de combinar VLOOKUP() con IF() en Excel
Veamos ejemplos prácticos para comprender cómo funciona
VLOOKUP()conIF().Consultas condicionales
Para crear una búsqueda condicional, como hemos dicho, empieza con una sentencia
IF()y utilizaVLOOKUP()dentro de ella para devolver resultados diferentes en función de una condición.Empieza con la función
IF():=IF().Dentro de la función
IF(), utilizaVLOOKUP().Probemos con un nuevo ejemplo: Aquí tengo una lista de pedidos de productos con sus correspondientes horas de pedido. Quiero ver si se ha pedido un producto concreto antes de las 12:00 PM.
Una tabla que contiene la lista de productos junto con el ID del pedido y la hora. Fuente: Imagen del autor.
Primero, selecciono una columna e introduzco la siguiente fórmula:
Aquí, la función
VLOOKUP()buscaBananaen la columna A y devuelve el tiempo de pedido correspondiente de la columna B.La sentencia
IF()comprueba si el tiempo de pedido es inferior a12. Si es así, devuelveOrdered Before Noon. En caso contrario, devuelveOrdered After Noon.Calcular el plazo de entrega combinando la fórmula IF() y VLOOKUP(). Fuente: Imagen del autor.
Puedes ver cómo realizo fácilmente el seguimiento de las entregas de mis productos deseados utilizando búsquedas condicionales.
Tratamiento de errores
Para tratar los errores, empieza con una declaración
IF()y utilizaISNA()conVLOOKUP()dentro para comprobar si hay errores. Por ejemplo, para mostrar un mensaje personalizado si no se encuentra un producto:Empieza con la función
IF():=IF().Dentro de la función
IF(), utilizaISNA()conVLOOKUP()para comprobar si hay errores.Aclaremos esto con un ejemplo. Digamos que tengo una tabla con precios de productos y quiero mostrar un mensaje personalizado cada vez que no se encuentre un producto.
Una tabla que contiene una lista de productos y sus precios. Fuente: Imagen del autor.
Para ello, selecciono una celda e introduzco la siguiente fórmula para encontrar el precio:
Después, lo combino con
ISNA()yIF()para gestionar los posibles errores.Tratamiento de errores combinando fórmulas IF() e ISNA(). Fuente: Imagen del autor.
Aquí,
ISNA()comprueba si la funciónVLOOKUP()devuelve un error#N/A, lo que ocurriría si no estuviera disponible. En otras palabras, siISNA()se evalúa comoTRUE, la sentenciaIF()devuelveProduct Not Found; en caso contrario, devuelve el precio deVLOOKUP().Indexación dinámica de columnas
Para elegir dinámicamente el índice de columna para
VLOOKUP(), empieza con una sentenciaIF()y utilizaVLOOKUP()dentro de ella para seleccionar distintas columnas en función de una condición. Por ejemplo, para buscar diferentes columnas en función de un valor umbral:Empieza con la función
IF():=IF().Dentro de la función
IF(), utilizaVLOOKUP()para comprobar el umbral y seleccionar la columna.Aquí tengo una tabla de productos con la columna A con los nombres de los productos, la columna B con los precios de los productos y la columna C con la cantidad de existencias. Quiero consultar el precio del producto o la cantidad de existencias en función de si el precio está por encima o por debajo de un determinado umbral, como
50.Una tabla que contiene una lista de productos, sus ID y sus precios. Fuente: Imagen del autor.
Selecciono una celda e introduzco la siguiente fórmula:
Aplicar IF con VLOOKUP() anidado. Fuente: Imagen del autor.
Así es como funciona la fórmula:
(VLOOKUP(B9, $B$9:$D$14, 2, FALSE)busca el producto enB9desde la columna A y devuelve el precio desde la columna C.La declaración
IF()comprueba si el precio es superior a$50.Si es verdadero, nuestro código devuelve la cantidad de existencias:
VLOOKUP(B9,$B$9:$D$14, 3, FALSE).Si es falso, nuestro código devuelve el ID del producto:
VLOOKUP(B9,$B$9:$D$14, 2, FALSE)).Si trabajas con un conjunto de datos muy grande, puedes copiar la fórmula arrastrándola a la última celda rellenada.
Mostrando resultados. Fuente: Imagen del autor.
Y ya está. Como puedes ver, podemos recuperar la información deseada basándonos en condiciones específicas utilizando una fórmula combinada.
Técnicas avanzadas con VLOOKUP() e IF()
Ahora que ya tienes nociones básicas sobre la combinación de declaraciones
IF()conVLOOKUP(), vamos a aprender algunas técnicas avanzadas a partir de ejemplos que he probado por mi cuenta.Combinar varios criterios
Si buscas datos basándote en varios criterios, puedes combinar varias funciones
VLOOKUP()dentro de una sentenciaIF()para comprobar si se cumplen todas las condiciones.Aquí tengo una tabla con los datos de compra del cliente y el estado de afiliación. Y quiero comprobar si un cliente era elegible para un programa de fidelización, que requiere al menos
500en COMPRA TOTAL ($) yGoldcomo ESTATUS DE MIEMBRO.Una tabla con los datos de los clientes. Fuente: Imagen del autor.
Creo otra columna llamada Elegibilidad, que muestra los criterios de elegibilidad. A continuación, escribo la siguiente fórmula y pulso Intro:
Comprueba los criterios de elegibilidad de los clientes combinando varios criterios. Fuente: Imagen del autor.
Así es como funciona esta fórmula:
VLOOKUP(B2, $B$2:$D$11, 2, FALSE) >= 500comprueba si el total de compras del cliente es como mínimo$500.VLOOKUP(B2, $B$2:$D$11, 3, FALSE) = "Gold")comprueba si el estado de afiliación de Juan eraGold.ANDcombina las condiciones para asegurarte de que ambas son verdaderas.IF()devolvíaEligiblecuando ambas condiciones eran verdaderas. En caso contrario, devolvíaNot Eligible.Utilizar VLOOKUP() con IF() para cálculos
Puedes utilizar
VLOOKUP()para encontrar un valor y luego aplicar una sentenciaIF()para realizar cálculos basados en ese valor.Aquí preparo una hoja con los productos y sus precios. Luego, quiero aplicar un descuento del 10% a los productos de más de 100 €.
Una tabla que contiene una lista de productos con sus precios. Fuente: Imagen del autor.
Así que creo otra columna llamada DESCUENTO y escribo la siguiente fórmula en esa columna para mostrar el descuento.
A continuación te explicamos cómo funciona esta fórmula:
VLOOKUP(A2, $A$2:$B$10, 2, FALSE)recuperó el precio del producto, que es 56.=IF(VLOOKUP(A2, $A$2:$B$10, 2, FALSE) > 100, ..., ...)comprueba si el precio del producto es superior a 100.Como la condición es verdadera,
VLOOKUP(A2, $A$2:$B$10, 2, FALSE) * 0.9aplicó un descuento del 10%.(VLOOKUP(A2, $A$2:$B$10, 2, FALSE))imprimió los precios reales del producto cuando la condición de descuento no era cierta.Así obtuve el resultado final de la fórmula del producto, que fue
135. Para obtener los resultados deseados para todos los productos, puedes arrastrar hacia abajo la fórmula y copiarla en la última celda rellenada.Utilizar VLOOKUP() con IF para calcular los descuentos de los productos cuyos precios sean superiores a 100. Fuente: Imagen del autor.
Manejo de grandes conjuntos de datos
También puedes combinar
VLOOKUP()con la funciónIF()para agilizar la recuperación de datos y la gestión de errores cuando trabajes con conjuntos de datos enormes.Éste es nuestro último ejemplo: Tengo una hoja con información sobre los empleados, y quiero recuperar el departamento de un empleado y tratar los casos en los que el ID del empleado no existe.
Una tabla que contiene una lista de empleados con sus ID y Departamentos. Fuente: Imagen del autor.
Así que seleccioné una celda y escribí la siguiente fórmula:
Después de pulsar Intro, arrastro la fórmula para copiarla también en otras celdas.
Recuperar el departamento del empleado a través del ID y gestionar los errores si no se encuentra al empleado. Fuente: Imagen del autor.
Y puedes ver los resultados más arriba. Así es como funciona esta fórmula:
El
VLOOKUP(E3, $A$2:$C$18, 3, FALSE)recupera el departamento del empleado.IFERRORgestiona los errores. En lugar de mostrar un mensaje de error (#N/A), mostrará un mensaje amigable y personalizado.En pocas palabras, ya no tienes que rebuscar en las sábanas. Porque cuando combinas las declaraciones
VLOOKUP()yIF(), puedes abordar fácilmente en Excel incluso los conjuntos de datos más grandes.Reflexiones finales
Combinando
VLOOKUP()con las declaracionesIF(), puedes crear hojas de cálculo más precisas y resistentes a los errores. Asegúrate de experimentar con los ejemplos que he compartido para ver cómo estas técnicas pueden simplificar las tareas de gestión de datos y mejorar tus habilidades con Excel.Si quieres mejorar tus conocimientos, echa un vistazo a nuestro curso Introducción a Excel y, a continuación, actualízate a la pista de conocimientos Fundamentos de Excel para dominar los aspectos básicos. Una vez que te sientas cómodo con estas funciones, avanza en tus habilidades analíticas con nuestro curso de Análisis de Datos en Excel. Pero si lo tuyo son más las finanzas, echa un vistazo a nuestro curso de Modelización Financiera en Excel para integrar conocimientos financieros.
Además, nuestro curso Preparación de datos en Excel te ayudará a agilizar el proceso de limpieza de datos, y el curso Visualización de datos en Excel te ayudará a presentar tus datos de forma atractiva.