Curso
Probablemente hayas oído hablar de VLOOKUP()
. Es una de las funciones más conocidas (si no la más conocida) de Excel. Y una vez que descubras cómo funciona, te encantará utilizarlo, ya que resuelve un problema muy complicado y que requiere mucho tiempo. VLOOKUP
es realmente la forma que tiene Microsoft de devolverte mucho tiempo.
En este artículo, desmitificaré el funcionamiento de VLOOKUP()
y te guiaré a través de sus usos más comunes. Y siempre puedes volver a este artículo más tarde si olvidas alguno de los argumentos.
¿Qué hace la función VLOOKUP()?
Ahora que ya he sentado las bases, aclaremos qué hace realmente VLOOKUP()
.
En esencia, VLOOKUP()
busca un valor en la primera columna de una tabla (o rango de celdas) y devuelve un valor de otra columna de la misma fila.
Piénsalo así: «Busca este artículo en mi lista y dame otro de la misma fila».
Hay cuatro argumentos importantes que utilizas siempre:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
-
lookup_value
: El valor que deseas buscar. -
table_array
: El rango de celdas que contienen tus datos (incluidas tanto la columna en la que se va a buscar como las columnas que se van a devolver). -
col_index_num
: El número de columna (empezando por1
para la más a la izquierda) en la matriz table_array desde la que se debe devolver el valor. -
[range_lookup]
: Opcional. Introduce «FALSE
» para obtener una coincidencia exacta (normalmente es lo que se busca) o «TRUE
» para obtener una coincidencia aproximada.
VLOOKUP()
es una función en la que debes comprender esos argumentos. No todas las funciones son así, pero « VLOOKUP()
» definitivamente sí lo es.
Ejemplo básico de la función VLOOKUP() de Excel
Pongamos a trabajar a VLOOKUP()
. Supongamos que tienes una tabla sencilla con productos y precios, como esta:
Digamos que quieres saber el precio de un plátano. Puedes utilizar:
=VLOOKUP("Banana", A2:B4, 2, FALSE)
-
"Banana"
es el valor que estás buscando. -
A2:B4
es el rango de datos. -
2
indica a Excel que devuelva el valor de la segunda columna, que es Precio. -
FALSE
significa que quieres una coincidencia exacta. (Más adelante se profundizará en este argumento en particular). Es el que más confunde).
Esta fórmula devolverá « $0.30
».
Ahora bien, codificar el valor de forma rígida no siempre es lo ideal, lo que nos lleva al siguiente punto:
VLOOKUP() con referencias de celda en lugar de codificación fija
En ese último ejemplo, codifiqué de forma fija el valor de búsqueda. En la práctica, a menudo querrás hacer referencia a una celda. Esto hace que tu fórmula sea dinámica y reutilizable. Por ejemplo, si introduces «Orange» en la celda D2
, puedes utilizar:
=VLOOKUP(D2, A2:B4, 2, FALSE)
Ahora, cada vez que cambies el valor en « D2
», la fórmula obtendrá el precio correspondiente y descubrirás que no es necesario editar la fórmula en sí.
VLOOKUP() Usando exacto vs. Coincidencia aproximada
Ahora quizá te preguntes qué significa el cuarto argumento, [range_lookup]
. A veces no importa, pero otras veces tiene un gran impacto en tus resultados. La regla general es que, en la mayoría de los casos, querrás utilizar FALSE
para obtener una coincidencia exacta.
-
Utiliza
FALSE
para nombres, identificadores o códigos de productos en los que sea necesario que haya una coincidencia exacta. -
Utiliza un valor único (
TRUE
) para rangos (como los tramos impositivos o las escalas de calificación) en los que deseas obtener el valor más cercano sin sobrepasarlo. Solo recuerda (y esto también es importante): tu columna de búsqueda debe estar ordenada en orden ascendente cuando utilicesTRUE
.
Veamos un ejemplo de coincidencia aproximada:
Supongamos que tienes esta tabla con los tipos impositivos:
Si tus ingresos son e $15,000
:
=VLOOKUP(15000, A2:B4, 2, TRUE)
Excel encontrará el valor más cercano menor o igual a 15000
(que es 10000
) y devolverá 15%
.
Pero, de nuevo, para la mayoría de las búsquedas, es mejor seguir utilizando FALSE
.
Errores comunes y limitaciones
Como todo, VLOOKUP()
tiene algunas limitaciones, por lo que no te encontrarás con sorpresas más adelante. Aquí hay algunas cosas a tener en cuenta:
-
Solo busca de izquierda a derecha. Esta es la gran limitación que se me ocurre.
VLOOKUP()
siempre busca en la primera columna de tutable_array
y devuelve los datos de las columnas de la derecha. Si necesitas buscar datos a la izquierda, necesitarás otro método. -
El número de columna es estático. Si insertas o eliminas columnas en tu tabla, el «
col_index_num
» podría terminar apuntando a la columna incorrecta. A veces, si rompes algo, notarías una columna entera de errores «#N/A
», pero otras veces el problema sería más difícil de detectar. -
Puede ser lento con conjuntos de datos grandes. Con tablas muy grandes, puede haber una diferencia real y notable en el rendimiento. Si has encontrado el valor que buscabas y no necesitas que la búsqueda sea dinámica, puedescopiar y pegar Copiar > Pegar Especial para que tu cuaderno de trabajo ocupe menos espacio.
Si te encuentras con estos problemas, considera alternativas como INDEX()
+MATCH()
, o la función más reciente XLOOKUP()
(si está disponible en tu versión de Excel). (Te ayudaré a descifrar las diferencias entre estas funciones en una sección más adelante).
Cómo hacer que tus funciones VLOOKUP() sean más flexibles
Ahora que ya te sientes cómodo con los conceptos básicos, vamos a hacer que tus fórmulas de e VLOOKUP()
es sean más flexibles y fáciles de gestionar. Un truco muy útil es utilizar rangos con nombre. Por ejemplo, selecciona « A2:B4
», escribe «ProductTable» en elcuadro« Name » (Nombre de la tabla de productos) y ahora tu fórmula puede hacer referencia a ese nombre:
=VLOOKUP(D2, ProductTable, 2, FALSE)
Esto hace que tus fórmulas sean mucho más fáciles de leer y mantener, especialmente si tus tablas se mueven.
Cómo gestionar correctamente los errores de VLOOKUP()
A veces, VLOOKUP()
no puede encontrar el valor que estás buscando, lo que da lugar a un error « #N/A
» (No se ha encontrado el valor). Para ordenar y hacer más fácil de usar la hoja de cálculo, puedes utilizar IFERROR() para detectar esos errores:
=IFERROR(VLOOKUP(D2, ProductTable, 2, FALSE), "Not found")
De esta forma, los valores que faltan se mostrarán como «No encontrado» en lugar de un mensaje de error, que puede resultar un poco antiestético.
VLOOKUP() vs. INDEX()/MATCH() frente a XLOOKUP()
Ya he mencionado anteriormente algunas funciones alternativas.
INDEX()
MATCH()
, y a menudo se recomiendan juntos, y aquí está el motivo:
-
INDEX()
/MATCH()
te permite buscar valores en cualquier dirección, no solo hacia la derecha, lo cual es una gran limitación deVLOOKUP()
que mencioné anteriormente. -
La columna de búsqueda no tiene por qué ser la primera columna del rango.
-
Insertar o eliminar columnas no afectará a la fórmula.
Y así es como se compara XLOOKUP() con VLOOKUP():
-
XLOOKUP()
reemplaza tantoVLOOKUP()
comoINDEX()
/MATCH()
combinando su funcionalidad en una única fórmula más intuitiva. -
Puedes mirar hacia la izquierda, la derecha, arriba o abajo.
-
No es necesario que la columna de búsqueda esté en una posición fija.
-
Puedes definir un valor alternativo si no se encuentra nada, evitando el temido error «
#N/A
» sin tener que utilizar la solución «IFERROR()
» que te mostré anteriormente.
Algunos consejos y atajos
Basándonos en todo lo que hemos visto, aquí tienes algunos consejos útiles para el « VLOOKUP()
»:
-
Referenciasabsolutas de : Cuando copies la fórmula, bloquea la matriz de la tabla con signos de barra (
$
) (por ejemplo,$A$2:$B$100
) para mantener constante el rango. -
Clasificación: Para obtener coincidencias aproximadas (con un
TRUE
), asegúrate de que la columna de búsqueda esté ordenada en orden ascendente. -
Partidos parciales coincidencias:
VLOOKUP()
no admite directamente comodines para coincidencias parciales, a menos que utilicesTRUE
pararange_lookup
o apliques soluciones creativas.
Conclusión
Tenemos más tutoriales excelentes sobre casos de uso específicos de VLOOKUP()
. Lee nuestra colección:
- VLOOKUP() desde otra hoja: Guía práctica en Excel
- Cómo hacer una búsqueda VLOOKUP() con varios criterios
- Cómo combinar VLOOKUP() con IF() en Excel
A continuación, para seguir un itinerario de aprendizaje estructurado, contextualizar mejor todos estos conceptos y mejorar realmente tus habilidades, inscríbete en nuestros cursos Análisis de datos en Excel y Funciones avanzadas de Excel. Es realmente la mejor manera de seguir mejorando con Excel.
Avanza en tu carrera con Excel
Adquiere los conocimientos necesarios para sacar el máximo partido a Excel, sin necesidad de experiencia.
