Coupler.io Blog

Explicación de VLOOKUP en Google Sheets: Cómo buscar datos verticalmente en hojas de cálculo

Vlookup in Google Sheets

¿Cómo conocer el estado de tu vuelo en el tablero de vuelos del aeropuerto? En primer lugar, realiza una búsqueda vertical para encontrar el número de vuelo necesario, por ejemplo, AC5704. Una vez hecho esto, desplaza la mirada hacia la derecha para encontrar el valor correspondiente en la columna Estado.

La función VLOOKUP de las Hojas de cálculo de Google funciona de forma similar, ya que busca verticalmente el valor especificado y devuelve los datos coincidentes de la fila. Lee este tutorial para explorar las capacidades básicas y avanzadas de VLOOKUP.

Entendiendo la búsqueda vertical o VLOOKUP en Google Sheets para principiantes

Sintaxis de la fórmula VLOOKUP

=VLOOKUP(clave de búsqueda, rango, índice-columna, [ordenado/no ordenado])

VLOOKUP siempre devuelve el primer valor encontrado, aunque la columna de búsqueda contenga dos o más valores que coincidan con la clave de búsqueda.

Cómo utilizar VLOOKUP en Hojas de cálculo de Google: ejemplo de fórmula

Extraigamos el precio del Club Sandwich del siguiente conjunto de datos.

Aquí está la fórmula VLOOKUP para hacer esto:

={"Club Sandwich",vlookup(A9,A2:E11,5,false)}

Eso es lo básico. Ahora vamos a profundizar en cómo se puede utilizar VLOOKUP.

Función VLOOKUP en Hojas de cálculo de Google – Hoja de trucos

Si no eres un novato en VLOOKUP y simplemente necesitas refrescar tus conocimientos, echa un vistazo a la siguiente hoja de trucos de VLOOKUP.

Hoja de trucos de VLOOKUP en Google Sheets

Cómo hacer VLOOKUP en Google Sheets – tutorial con ejemplos

Antes de empezar a explorar la función VLOOKUP en Hojas de cálculo de Google, vamos a cargar algunos datos de ejemplo en nuestra hoja de cálculo. A continuación, utilizaremos estos datos para la demostración.

Para exportar datos, regístrate con tu cuenta de Google; esto lleva literalmente unos segundos. A continuación, selecciona la app de la que quieres extraer datos, elige Google Sheets como destino y configura una conexión automatizada siguiendo más instrucciones.

1. Cómo buscar en VLOOKUP la coincidencia exacta o más cercana

1.1 Lógica de VLOOKUP con TRUE (parámetro ordenado) para encontrar la coincidencia más cercana

Si especificas TRUE como último parámetro en su fórmula VLOOKUP, buscará primero la coincidencia exacta. Si falla, la fórmula buscará celda por celda la coincidencia más cercana que sea menor o igual que la clave de búsqueda. Si la clave de búsqueda es menor que el valor de la primera celda a buscar, la fórmula devolverá un #N/A Error: No se encontró el valor '***' en la evaluación VLOOKUP.

2. Cómo hacer VLOOKUP para una coincidencia parcial utilizando comodines

Puedes utilizar los siguientes comodines con tu clave de búsqueda en la fórmula VLOOKUP:

En nuestra entrada del blog sobre las funciones COUNTIF y COUNTIFS ya hemos explicado cómo funcionan los comodines. Veámoslo a través de un ejemplo práctico, cuando una clave de búsqueda empieza, termina o contiene un texto específico.

En nuestro conjunto de datos de bocadillos, necesitamos encontrar la descripción del producto que contiene “cake” en su nombre. Así es como debería ser la clave de búsqueda: "*cake*". Y aquí está la fórmula VLOOKUP:

=vlookup("*cake*",A2:E,4,false)

Como esperábamos, la fórmula devolvía la descripción de Bocadillo de cangrejo. De forma similar, puede buscar verticalmente criterios que empiecen o terminen con un texto determinado.

3. Google Sheets VLOOKUP múltiples columnas

Digamos que la celda A15 contiene “jucy”, y la celda B15 contiene “lucy”. Necesitamos utilizar los valores de estas celdas como clave de búsqueda(“jucy lucy“) en la fórmula VLOOKUP. Para ello, puedes combinar las celdas utilizando el ampersand (&) de la siguiente manera: A1&" "&B1

Ahora puede anidar esta fórmula con VLOOKUP:

=vlookup(A15&" "&B15,A2:E,4,false)

Nota: Más información sobre la fusión de celdas en Google Sheets.

4. Google Sheets VLOOKUP múltiples valores

Si deseas realizar un vlookup de varios valores, deberás utilizar dos o más fórmulas entre llaves, como se indica a continuación: ésta es la sintaxis que necesitas:

={VLOOKUP(clave de búsqueda, rango, columna-índice-1, [ordenado/no ordenado]),VLOOKUP(clave de búsqueda, rango, columna-índice-2, [ordenado/no ordenado]),...}

Nota: Utiliza una coma para separar las fórmulas VLOOKUP para devolver los valores en una fila; utiliza el punto y coma para devolver los valores en una columna.

Por ejemplo, hagamos un vlookup de la clave de búsqueda (“jucy lucy“) para obtener no sólo la descripción, sino también el precio. Ésta es la fórmula:

={vlookup("jucy lucy",A2:E,4,false);
vlookup("jucy lucy",A2:E,5,false)}

5. Google Sheets VLOOKUP otra hoja o varias hojas

No hay ningún problema en utilizar VLOOKUP para realizar búsquedas verticales en varias pestañas de la hoja de cálculo. Para ello, es necesario enumerar los rangos de las hojas utilizando llaves en el parámetro rango. Los rangos deben estar separados por punto y coma, como sigue:

=VLOOKUP(clave-búsqueda, {rango-hoja1;rango-hoja2;rango-hoja3...}, índice-columna, [ordenado/no ordenado])

Por ejemplo, puedes tener tus datos repartidos en tres hojas: Productos1, Productos2 y Productos3.  

Busquemos la descripción del producto cuyo nombre contiene “lucy”. Aquí está la fórmula VLOOKUP:

=vlookup("*lucy*",{Productos1!A2:E;Productos2!A2:E;Productos3!A2:E},4,false)

6. Cómo hacer un VLOOKUP que distinga entre mayúsculas y minúsculas: QUERY y VLOOKUP

VLOOKUP no distingue entre valores en mayúsculas y minúsculas. Así, con la clave de búsqueda “cheeseburger“, la fórmula devolverá el valor que coincida con “Cheeseburger”, ya que es la primera coincidencia al buscar:

={"cheeseburger",vlookup("cheeseburger",A2:E12,5,false)}

Puedes resolver este problema anidando VLOOKUP con QUERY, ya que la función QUERY distingue entre mayúsculas y minúsculas. La siguiente fórmula filtrará “cheeseburger” del rango de datos A2:E12:

=query(A2:E12, "select * where A='cheeseburger'")

Anida esta fórmula QUERY con la fórmula VLOOKUP para realizar una búsqueda que distinga entre mayúsculas y minúsculas:

={
"cheeseburger",
vlookup(
"cheeseburger",
query(A2:E12, "select * where A='cheeseburger'"),
5,
falso
)
}

Nota: Lee la entrada de nuestro blog para obtener más información sobre la potencia de la función de consulta de Google Sheets.

7. Google Sheets VLOOKUP criterios múltiples

Para vlookup dos o más claves de búsqueda, anidar VLOOKUP con ARRAYFORMULA como sigue:

=ARRAYFORMULA(VLOOKUP({búsqueda-clave#1;búsqueda-clave#2;...}, rango, columna-índice, [ordenado/no ordenado])

Esto devolverá los resultados del vlookup en una columna. Si deseas devolver los resultados en una fila, sustituye el punto y coma por comas entre las claves de búsqueda.

=ARRAYFORMULA(VLOOKUP({clave-búsqueda#1,clave-búsqueda#2,...}, rango, índice-columna, [ordenado/no ordenado])

Por ejemplo, busquemos verticalmente el precio de “Veggie burger“, “Club sandwich” e “Italian beef“:

=arrayformula(
vlookup(
{Productos!A2;Productos!A9;Productos!A6},
Productos! A2:E12,
5,
falso
)
)

8. Google Sheets ARRAYFORMULA VLOOKUP en un rango

De forma similar, puedes buscar un intervalo de datos:

=ARRAYFORMULA(VLOOKUP(rango-datos-búsqueda, rango, índice-columna, [ordenado/no ordenado])

Por ejemplo, busquemos el rango A2:A6:

=arrayformula(vlookup(A2:A6,A2:E12, 5,false))

9. Cómo hacer VLOOKUP a una fila entera o a varios valores: ARRAYFORMULA y VLOOKUP

Anida VLOOKUP con ARRAYFORMULA y especifica los índices de las columnas de las que deseas extraer datos. 

=ARRAYFORMULA(VLOOKUP(clave de búsqueda, rango, {índice-columna#1,índice-columna#2,...}, [ordenado/no ordenado])

Si deseas devolver los resultados en una columna, sustituye las comas por punto y coma entre los índices de columna.

=ARRAYFORMULA(VLOOKUP(clave de búsqueda, rango, {índice-columna#1;índice-columna#2;...}, [ordenado/no ordenado])

Por ejemplo, vamos a extraer toda la fila de “Denver sandwich“:

=arrayformula(vlookup(Productos!A8,Productos!A2:E,{1;2;3;4;5}, false))

Si la fila es mucho más larga, deberás utilizar la función COLUMNA en el parámetro índice-columna.

=ARRAYFORMULA(VLOOKUP(search-key, range, COLUMN(data-range), [sorted/not-sorted])

Nota: especifica el rango de datos dentro de la función COLUMNA excluyendo la última columna con datos. Por ejemplo, tu rango de datos es A2:D. Su función VLOOKUP debe contener COLUMN (A2:C), de lo contrario devolverá un Error - VLOOKUP evalúa a un rango fuera de límites

10. Cómo hacer VLOOKUP a la izquierda

La función VLOOKUP funciona en dos direcciones:

  1. De arriba abajo
  2. De izquierda a derecha

Si necesitas buscar una columna a la izquierda, hay una solución:

=VLOOKUP(clave-búsqueda, {columna-búsqueda,rango-dos-columnas-búsqueda}, índice-columna, [ordenado/no ordenado])

He aquí algunas peculiaridades que conviene conocer:

Por ejemplo, necesitamos buscar en la columna Precio el valor “11” y conocer el nombre del Producto que coincide con él. Así es como se verá la fórmula:

=vlookup(11,{E2:E,A2:D},2,false)

11. VLOOKUP de abajo a arriba en Google Sheets

Normalmente, VLOOKUP busca de arriba hacia abajo, pero ¿qué ocurre si necesitamos invertir esta dirección?
Supongamos que tenemos dos artículos llamados “Bocadillo de salchicha” en nuestro conjunto de datos. Se diferencian en el precio y necesitamos obtenerlo para el que está más cerca de la parte inferior.

Así que, básicamente, necesitas voltear tu rango de datos. Puedes hacerlo con la siguiente fórmula:

=SORT({rango de datos},ROW({primera-columna-dentro-delrango})*N({última-columna-dentro-delrango}<>""),0)

En nuestro caso, es el siguiente:

=SORT(A2:E13,ROW(A2:A13)*N(E2:E13<>""),0)

Ahora puedes hacer el vlookup normal 🙂 Sin embargo, la forma más avanzada es mejor esta fórmula en su fórmula VLOOKUP de la siguiente manera:

=VLOOKUP(clave-búsqueda,SORT({rango-datos},ROW({primera-columna-dentro-del-rango})*N({última-columna-dentro-del-rango}<>""),0), índice-columna, [ordenado/no ordenado].

En nuestro ejemplo, el aspecto es el siguiente

=VLOOKUP("Bocadillo de chorizo",SORT(A2:E13,ROW(A2:A13)*N(E2:E13<>""),0),5,false)

12. Cómo hacer una búsqueda horizontal: función HLOOKUP

HLOOKUP es la hermana o hermano menor de VLOOKUP. Incluso tienen una sintaxis de fórmula similar. La diferencia es que VLOOKUP busca primero verticalmente y luego horizontalmente; HLOOKUP busca primero horizontalmente y luego verticalmente. La función busca la clave de búsqueda en la primera fila del intervalo de datos y, a continuación, devuelve el valor de la fila especificada.

Sintaxis de la fórmula HLOOKUP:

=HLOOKUP(clave de búsqueda, rango, índice-fila, [ordenado/no ordenado])

Esta función funciona bien con conjuntos de datos de rango grande. Por ejemplo, busquemos el precio del artículo especificado en la quinta fila.

=hlookup("Precio",A1:E,5,false)

13. Cómo hacer VLOOKUP desde otra hoja de cálculo: VLOOKUP e IMPORTRANGE

VLOOKUP funciona dentro de un documento de Google Sheets. Si necesitas buscar un conjunto de datos en otra hoja de cálculo, anida VLOOKUP e IMPORTRANGE. 

13.1. VLOOKUP IMPORTRANGE Sintaxis:

=VLOOKUP(clave de búsqueda, IMPORTRANGE("ID_hoja_de_datos", "rango_datos"), índice_columna, [ordenado/no ordenado])

Todo permanece como está excepto el rango – necesitas reemplazarlo con la fórmula IMPORTRANGE. Consulta el ejemplo de fórmula VLOOKUP e IMPORTRANGE, así como otras capacidades de IMPORTRANGE en nuestra entrada de blog.

14. IF y VLOOKUP

Para personalizar el resultado de tu fórmula VLOOKUP, puedes anidar VLOOKUP e IF de forma diferente. Por ejemplo, esta es la fórmula que utilizamos en la entrada del blog “Campos personalizados de Trello en Google Sheets“:

={"Tipo de campo personalizado", "Nombre de campo personalizado";
ARRAYFORMULA(IF(LEN('Todos los campos personalizados por tarjetas'!E2:E)=0,,
VLOOKUP(
Todos los campos personalizados por tarjetas" E2:E,
{'Todos los campos personalizados'!A2:A, 'Todos los campos personalizados'!H2:H, 'Todos los campos personalizados'!F2:F},
{2,3},false
)
)
)
}

La combinación de ARRAYFORMULA, IF y VLOOKUP nos permitió asignar tipos de campos personalizados por tarjetas.

IF, LEN en la fórmula es un truco que permite desactivar ARRAYFORMULA+VLOOKUP para celdas vacías. Sin este truco, la fórmula habría funcionado con todas las filas y habría devuelto #N/A para las celdas vacías.

Y así es como puedes anidar la lógica IF dentro de la fórmula VLOOKUP:

Supongamos que tenemos dos conjuntos de datos:

  1. Productos y sus precios ahora
  2. Productos y sus precios en 2019

Necesitamos buscar el precio de “Italian beef” en función del año especificado en la celda B1. He aquí la fórmula VLOOKUP+IF:

=vlookup(
"italian beef",
if(B1=2019, 'Productos 2019'!A2:E11, Productos!A2:E11),
5,
falso
)

La idea es que, si la celda B1 contiene 2019, la fórmula VLOOKUP devolverá el precio de Italian Beef en 2019. De lo contrario, devolverá el precio actual del producto.

Para terminar: ¿hay alguna alternativa a VLOOKUP? 

La combinación de INDEX y MATCH se considera una alternativa mejor que VLOOKUP. Son funciones de búsqueda de Google Sheets, es decir, devuelven el valor basándose en una clave de búsqueda o en un número de desplazamiento:

INDEX(rango, desplazamiento-fila, índice-columna)

MATCH(clave de búsqueda, rango, [tipo de búsqueda])

Para utilizar la combinación de INDEX y MATCH en lugar de VLOOKUP, debes sustituir row-offset o column-index, o ambos, por la fórmula MATCH. Puede tener el siguiente aspecto:

INDEX(rango, MATCH(clave de búsqueda, rango, [tipo de búsqueda]), índice-columna)

INDEX(rango, fila-desplazamiento, MATCH(clave-de-búsqueda, rango, [tipo-de-búsqueda]))

O

INDEX(rango, MATCH(clave de búsqueda, rango, [tipo de búsqueda]), MATCH(clave de búsqueda, rango, [tipo de búsqueda]))

Si necesitas exportar datos de algún sitio a una hoja de cálculo, echa un vistazo a las integraciones de Google Sheets y Excel que proporciona Coupler.io. Por ahora, utiliza Vlookup de forma segura y agiliza tus actividades centradas en los datos. Mucha suerte.

Salir de la versión móvil