Análisis de Datos e Informes en Marketing
Estrategias y Tendencias de Marketing Digital

La Fórmula Definitiva de Google Sheets Para Unir Tablas

¿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.

Every user finds it extremely important to find efficient Google Sheets formula that can work wonders for their data. However, it has been a challenge to get such effective formulas because chaining multiple functions can quickly create complex queries.

While many formulas are at our disposal, most require some creativity to make them ideal for your situations. So, when it comes to joining two or more tables, we have to depend on some other functions and reference knowledge to create a Google Sheets formula that can do the job effectively.

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!

What Google Sheets formula do you need to join tables?

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

Google Sheet formula FILTER is a powerful slice and dice function. The syntax for this function is:

=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.

You can use the Google Sheets formula VLOOKUP to source or lookup values that are matching on another table, so here’s the syntax:

=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: The second parameter in the VLOOKUP Google Sheets formula is the range: the references to cells where you want to search your data. 
  • 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

To illustrate how to join a table using the Google Sheets formula VLOOKUP , we will use the following tables for our example. Here, we have two tables that share a common key, the Nombre.

AB
1NombreDepartamento
2EricVentas
3JaneIT
4JohnControl de Calidad
Tabla A en HojaA
AB
1NombreSalario
2Eric$45500
3Jane$31850
4John$21440
Tabla B en HojaB

If we need a Google Sheets formula to join the two tables above, here’s how we will achieve the results in Sheet C below:

ABC
1NombreDepartamentoSalario
2EricVentas$45500
3JaneIT$31850
4JohnControl de Calidad$21440
HojaC

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, we used this Google Sheets formula to get the 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, use this Google Sheets formula to get the salary for the employees from 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?

There are two straightforward Google Sheets formula to deal with these limitations. Let’s check them out!

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.

There are several ways to concatenate with Google Sheets formula, but we will only focus on the easiest: using the ampersand ‘&.’ For example, to concatenate cells A12 y A15, simplemente usa =A12&A15 como tu fórmula.

Because we want to do this virtually for our VLOOKUP Google Sheets formula, we will apply it to our search keys and range. So, let’s create another table with the following values:

ABC
1NombreEstadoSalario
2EricColorado$40,500
3JaneConnecticut$37,600
4EricDelaware$30,000
5JohnCalifornia$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.

To avoid IF errors, you can concatenate two cells or columns to make the key unique.

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 in the list. Here’s the complete Google Sheets formula: 

=VLOOKUP(H10&I10, {D10&E10, F10}, 2, FALSE)
You can use VLOOKUP to populate another table with no unique values, the value of the first occurrence of the search key will be used throughout the search.

Did you see we used the curly brackets to get that? What does it mean? To solve the other limitation of the Google Sheets formula VLOOKUP, we introduced the concept of arrays to allow us to create a virtual table and change the order of these tables without creating them manually.

Así que aquí viene la segunda solución a la limitación:

Usando arrays

¿Qué son arrays en Google Sheets?? If you have a background in coding, you should know what an array means. However, it may mean different when you use it in Google Sheets formula. Arrays are tables with columns or rows of values. 

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 to hold the concatenation. So, that is where arrays help us. With the arrays, we can now create a virtual column and use the VLOOKUP Google Sheets formula to use that table to get us the results we want.

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í:

You need to create a Helper Column to hold the concatenation.

Cómo manejar errores en los resultados

Even when everything might seem right, sometimes errors might behave awkwardly in Google Sheets formula. So, it is crucial to have a way to handle such issues. If you deal with a small dataset, you can find and fix the errors manually if it is well with you.

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 errors on your formula and replace them with a custom message. If you want to add zeros to such cells, here’s the Google Sheets formula:

Sintaxis:

=IFNA(fórmula, “mensaje”)

Example, the Google Sheets formula:

=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.

The syntax and usage are just like IFNA; that is, the Google Sheets formula:

=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.

VLOOKUP Google Sheets formula finds values from the range that you provided.

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

Merging two tables can be daunting, but with the functional Google Sheets formula that we shared to join your tables, we believe it’s now easier. By combining two powerful functions that we already know and use, the process is even more clear.

To merge different tables with Google Sheets formula, use the following syntax:

=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!

¿CÓMO PODEMOS AYUDARTE?

FORMULARIO DE CONTACTO

Estamos para ayudarte y responder cualquier pregunta que quieras hacernos