¿Alguna vez te has preguntado qué fórmula puedes usar para unir tablas en Google Sheets? ¿Y automáticamente? El tipo de fórmula mágica que sería fácil de reutilizar y hace exactamente lo que necesitas. Si quieres saber cómo — sigue leyendo.
Cada usuario de Google Sheets considera extremadamente importante encontrar fórmulas eficientes que puedan hacer maravillas con sus datos. Sin embargo, ha sido un desafío obtener fórmulas tan efectivas porque encadenar múltiples funciones puede rápidamente crear consultas complejas.
Si bien muchas fórmulas están a nuestra disposición, la mayoría requieren algo de creatividad para hacerlas ideales para tus situaciones. Así que, cuando se trata de unir dos o más tablas, tenemos que depender de algunas otras funciones y conocimientos de referencia para crear una consulta que pueda hacer el trabajo de manera efectiva.
Si encontraste tedioso o complicado el proceso de unir tablas, este artículo te ayudará a entender todo lo que necesitas saber. ¡Así que vamos directamente a esta fórmula de Google Sheets para unir tus tablas!
¿Qué funciones necesitas para unir tablas en Google Sheets?
Como dijimos, fusionar dos tablas implica combinar varias funciones. La fórmula que construiremos incluye dos poderosas funciones de Google Sheets para unir nuestras tablas: FILTER y VLOOKUP.
Como puedes ver, las funciones no son nuevas, pero cuando las combinamos con algunos otros trucos, pueden revolucionar la forma en que procesas tus datos más complejos. Antes de sumergirnos en la fórmula, necesitamos solidificar nuestra comprensión de estas funciones de la consulta antes de poder crearla.
Así que, arremanguémonos y pongámonos a trabajar.
La función FILTER
La fórmula de filtro de Google Sheets es una función poderosa de segmentación y manipulación. La sintaxis de esta función es:
=FILTRAR(rango, condición1, [condición2, …])
Dónde:
- El rango es el rango de celdas que deseas filtrar.
- Condición1 es las filas o columnas que corresponden al conjunto de datos y devuelve un array con valores booleanos: los valores TRUE o FALSE según tus condiciones.
- Condición2: Aunque este es un argumento opcional, cumple la misma función que la condición1, ayudándote a encadenar condiciones.
La función FILTER devuelve la versión filtrada de tu rango. Solo devuelve las filas o columnas que cumplen con las condiciones especificadas que proporcionas.
Entonces, si esta función puede devolver una fila o una columna según nuestras condiciones, será una de nuestras funciones útiles.
La función VLOOKUP
Cuando quieres referirte a datos de diferentes hojas o tablas en Google Sheets, la función VLOOKUP es muy útil. Esta función de búsqueda vertical es poderosa y puede trabajar con datos de hojas externas, lo que la hace poderosa y perfecta para nuestro propósito.
Puedes usar la función VLOOKUP para obtener o buscar valores que coinciden en otra tabla, así que aquí está la sintaxis:
=VLOOKUP(search_key, range, index, [is_sorted])
Dónde:
- La clave de búsqueda: El parámetro search_key son los valores que queremos buscar. Puedes ingresar los datos, como ‘Texas’, 3400 o A12. Aquí, puedes combinar valores de varias columnas para obtener una columna de búsqueda única.
- El rango: El segundo parámetro en la función VLOOKUP es el rango: las referencias a las celdas donde deseas buscar tus datos.
- El índice: Otro parámetro en la función VLOOKUP es el índice. El índice es la posición de la columna que deseas obtener. El número de columna siempre comienza desde la primera celda de tu rango de búsqueda, comenzando desde 1 y no desde 0.
- El parámetro is_sorted: El parámetro final en una función VLOOKUP es el is_sorted. Este parámetro indica si debemos ordenar la primera columna en orden ascendente o no. Por lo tanto, sus valores pueden ser FALSE o TRUE. Cuando se establece en FALSE, el rango de búsqueda no se ordenará y permanecerá en el orden original.
ilustración de VLOOKUP
Para ilustrar cómo unir una tabla en Google Sheets utilizando la función VLOOKUP, utilizaremos las siguientes tablas para nuestro ejemplo. Aquí, tenemos dos tablas que comparten una clave común, el Nombre.
A | B | |
1 | Nombre | Departamento |
2 | Eric | Ventas |
3 | Jane | IT |
4 | John | Control de Calidad |
A | B | |
1 | Nombre | Salario |
2 | Eric | $45500 |
3 | Jane | $31850 |
4 | John | $21440 |
Si necesitamos una consulta de Google Sheets para unir las dos tablas anteriores, así es como lograremos los resultados en la Hoja C a continuación:
A | B | C | |
1 | Nombre | Departamento | Salario |
2 | Eric | Ventas | $45500 |
3 | Jane | IT | $31850 |
4 | John | Control de Calidad | $21440 |
Tabla A lista los Nombres y Departamentos de los empleados. La segunda tabla lista los Nombres y sus Salario. Si necesitas obtener todos estos detalles en una tabla, puedes usar VLOOKUP. Emparejarás cada nombre en el nuevo Tabla C (Donde tenía el Nombres único) con el nombre correspondiente en HojaB.
¿Cómo lo hicimos?
En B2 de la Tabla C, usamos esta fórmula para obtener el Departamentos de los empleados:
=VLOOKUP(A2,SheetA!A2:B4,2,FALSE) y presiona Enter.
Donde:]
A2 es la clave de búsqueda. SheetA! es una referencia a SheetA con tabla A. A2:B4 es nuestro rango de búsqueda en Sheet A. 2 es el índice de la columna que queremos seleccionar en A2:B4.
Activar C2 de HojaC, usa esta fórmula para obtener el salario de los empleados de HojaB:
=VLOOKUP(A2,SheetB!A2:B4,2,FALSE) y presiona Enter.
Nota: Arrastra la fórmula a otras celdas para obtener sus valores.
Limitaciones de la función VLOOKUP y cómo superarlas
Vienen varios inconvenientes al usar la función VLOOKUP sola. ¿Qué pasa si quieres rellenar toda la columna o fila sin hacerlo manualmente? ¿Qué pasa si los valores que buscas no son únicos? ¿Y qué pasa si los valores que buscas no están en la primera columna de tu rango?
Hay dos maneras sencillas de abordar estas limitaciones. ¡Vamos a verlas!
Usando concatenaciones
Las concatenaciones son una forma de encadenar los valores de dos o más celdas en un solo valor. Cuando tus columnas tienen valores que no son únicos, esto puede ser problemático para la función VLOOKUP. Por lo tanto, utilizaremos concatenaciones para crear columnas únicas para que esta función funcione de manera óptima.
Hay varias formas de concatenar en Google Sheets, pero solo nos centraremos en la más sencilla: usando el ampersand ‘&’. Por ejemplo, para concatenar las celdas A12 y A15, simplemente usa =A12&A15 como tu fórmula.
Dado que queremos hacer esto virtualmente para nuestra fórmula VLOOKUP, lo aplicaremos a nuestras claves de búsqueda y rango. Así que, creemos otra tabla con los siguientes valores:
A | B | C | |
1 | Nombre | Estado | Salario |
2 | Eric | Colorado | $40,500 |
3 | Jane | Connecticut | $37,600 |
4 | Eric | Delaware | $30,000 |
5 | John | California | $52,000 |
Si intentas duplicar o usar VLOOKUP para poblar otra tabla sin valores únicos, se utilizará el valor de la primera ocurrencia de la clave de búsqueda durante toda la búsqueda. Aquí está el ejemplo de usar la tabla anterior para reproducir la tabla. Verifica que el segundo Eric’s Estado y Salario no son precisos.
Para evitar tales errores, podemos concatenar dos celdas o columnas para hacer la clave única, lo que significa que tendremos una mayor probabilidad de obtener datos precisos. Combinamos el Nombre y Estado para diferenciar los dos Eric en la lista. Aquí está la fórmula completa:
=VLOOKUP(H10&I10, {D10&E10, F10}, 2, FALSE)
¿Viste que usamos las llaves para obtener eso? ¿Qué significa? Para resolver la otra limitación de la función VLOOKUP, introdujimos el concepto de arrays para permitirnos crear una tabla virtual y cambiar el orden de estas tablas sin crearlas manualmente.
Así que aquí viene la segunda solución a la limitación:
Usando arrays
¿Qué son arrays en Google Sheets?Si tienes experiencia en programación, deberías saber qué significa un array. Sin embargo, puede tener un significado diferente cuando lo usas en Google Sheets. Los arrays son tablas con columnas o filas de valores.
Para diferenciar una fila de valores de una columna de valores en un array, se utiliza la coma para representar columnas y el punto y coma representa las filas. Si es confuso, aquí tienes un ejemplo.
Si quiero representar nuestros datos en nuestra última tabla en un array, una fila de Eric de Colorado será {Eric,Colorado,40500}.. Y las columnas de Nombres se representan como, {Eric;Jane;Eric;John}.
Volviendo a nuestro uso anterior; después de concatenar el Nombres y Estados, sin arrays necesitarás crear un Columna Auxiliar para mantener la concatenación. Así que, ahí es donde los arrays nos ayudan. Con los arrays, ahora podemos crear una columna virtual y usar la función VLOOKUP para utilizar esa tabla y obtener los resultados que queremos.
Por lo tanto, la tabla virtual del array {D10&E10, F10} significa que la tabla combinará los valores de D10 y E10 en una columna, y añade el valor de F10 a la siguiente columna. Entonces, la tabla de ayuda completa debería verse así:
Cómo manejar errores en los resultados
Incluso cuando todo parece estar bien, a veces los errores pueden comportarse de manera extraña en Google Sheets. Por lo tanto, es crucial tener una forma de manejar tales problemas. Si trabajas con un conjunto de datos pequeño, puedes encontrar y corregir los errores manualmente si así lo prefieres.
Un ejemplo de un error es el #N/A error que ocurre ya sea cuando la clave de búsqueda en la fórmula VLOOKUP no encuentra datos en una fila sin datos o cuando la función FILTER no encuentra filas coincidentes.
Afortunadamente, Google Sheets proporciona varias fórmulas para lidiar con tales errores. Por ejemplo, la IFNA encontrará las celdas con #N/A errores en tu fórmula y los reemplazará con un mensaje personalizado. Si quieres añadir ceros a tales celdas, aquí está la fórmula:
Sintaxis:
=IFNA(fórmula, “mensaje”)
Ejemplo:
=IFNA(FILTER(VLOOKUP(clave_busqueda,rango,índice,está_ordenado), condición), “VLOOKUP no encontró ningún valor”)
Si bien este ejemplo puede parecer ideal, anidar múltiples fórmulas de manejo de errores puede complicar tus funciones. La buena noticia es que hay una alternativa: la función IFERROR, que es una especie de universal para todos los errores.
La sintaxis y el uso son iguales a los de IFNA; es decir,
=IFERROR(fórmula, “mensaje”).
Nuestra fórmula en acción: Fusionando dos tablas en Google Sheets
¿Pero recuerdas la función FILTER que presentamos anteriormente? ¿Dónde encajará en esta fórmula?
Para responder a eso, permíteme presentarte otra limitación de la función VLOOKUP que no hemos discutido. La función VLOOKUP no llena automáticamente otras celdas con valores; necesitas copiar y pegar o arrastrar las fórmulas para usarlas en otras celdas.
Pero ese es otro trabajo que no querrás hacer. Entonces, ¿cómo puedes superarlo? Aquí te mostramos cómo hacerlo:
=FILTRAR(BUSCARV(rangoColumna,{array},índice o {array de índices},está_ordenado)
Usando la función FILTER para poblar los resultados de VLOOKUP
Utilizando la función FILTER para filtrar los resultados de VLOOKUP con la condición de que el rango no esté vacío, podrás fusionar tus tablas en Google Sheets automáticamente.
En nuestro ejemplo, nuestra función VLOOKUP encuentra valores del rango que proporcionamos. La función FILTER recorrerá todos los valores para cada celda en el rango de VLOOKUP hasta que la condición se vuelva falsa; es decir, cuando VLOOKUP no devuelva nada. La función FILTER luego poblará todos los valores recibidos en sus respectivas columnas en nuestra nueva tabla.
Como has visto, hemos unido tres tablas diferentes utilizando las funciones VLOOKUP y FILTER. Así que, ahora desglosaremos las fórmulas que utilizamos:
La fórmula para conseguir Nombre y Estado de la Tabla 1:
=FILTRAR(BUSCARV(I10:I14, {I10:K14},{1,2},FALSO), I10:I14"")
Aquí, estamos filtrando el rango de columnas desde I10:I14 desde el rango I10 hasta K14 con VLOOKUP. Luego incluimos un índice de matriz en las columnas que queremos seleccionar del rango; es decir, el índice de columna uno y dos, {1,2}: Nombre y Estado.
La fórmula para conseguir País Favorito de la Tabla 2:
=FILTER(VLOOKUP(M10:M14, {M10:N14},2,FALSE), M10:M14<>"")
De nuestro rango M10:N10, queremos seleccionar la segunda columna (no debe ser ordenada), y nuestro rango de columnas M10:M14 no debe estar vacío según nuestra condición de FILTER.
Finalmente, la fórmula para obtener ID y Código de Área de la Tabla 3:
=FILTER(VLOOKUP(P10:P14, {P10:S14},{2,3},FALSE), P10:P14<>"")
Reflexiones finales sobre la consulta de Google Sheets para unir más tablas
Combinar dos tablas puede ser abrumador, pero con la consulta funcional de Google Sheets que compartimos para unir tus tablas, creemos que ahora es más fácil. Al combinar dos funciones poderosas que ya conocemos y usamos, el proceso es aún más claro.
Para combinar diferentes tablas en Google Sheets, utiliza la siguiente sintaxis:
=FILTRAR(BUSCARV(rango_columnas, {rango_datos},{índice de columnas},ordenado), condición)
Si aún encuentras un desafío al utilizar estas fórmulas, considera usar Dataslayer para Google Sheets, que te permite fusionar fácilmente dos tablas, importar datos de diferentes hojas de cálculo y trabajar con más de 40 fuentes de datos diferentes para tu reporting. ¿Quieres aprender más? ¡Empieza hoy gratis!