Fusionar 2 hojas de Google y actualizar los datos basándose en registros comunes

  • Compartir Este
Michael Brown

Utilizarás VLOOKUP, INDEX/MATCH, QUERY y el complemento Combinar hojas para actualizar las celdas de una hoja a partir de los registros de otra, basándote en las coincidencias de las columnas comunes.

    Combinar hojas de Google mediante la función VLOOKUP

    Lo primero a lo que puedes recurrir cuando necesites emparejar y combinar dos hojas de Google es la función VLOOKUP.

    Sintaxis & uso

    Esta función busca en una columna especificada un determinado valor clave y extrae uno de los registros relacionados de la misma fila en otra tabla u hoja.

    Aunque VLOOKUP de Google Sheets suele considerarse una de las funciones más complicadas, en realidad es bastante sencilla e incluso fácil una vez que se conoce.

    Echemos un vistazo rápido a sus componentes:

    =VLOOKUP(clave_busqueda, rango, índice, [is_sorted])
    • buscar_clave es el valor clave que está buscando. Puede ser cualquier cadena de texto, número o una referencia de celda.
    • gama es ese grupo de celdas (o una tabla) donde se buscará el buscar_clave y de dónde sacará los registros relacionados.

      Nota: VLOOKUP en Hojas de cálculo de Google siempre explora la primera columna del archivo gama para la buscar_clave .

    • índice es el número de la columna dentro de ese gama de dónde quieres extraer los datos.

      Por ejemplo, si el intervalo de búsqueda es A2:E20 y necesitas obtener los datos de la columna E, introduce 5. Pero si el intervalo es D2:E20, tendrás que introducir 2 para obtener los registros de la columna E.

    • [is_sorted] es el único argumento que se puede omitir. Se utiliza para decir si la columna con valores clave está ordenada (TRUE) o no (FALSE). Si es TRUE, la función trabajará con la coincidencia más cercana, si es FALSE - con una completa. Cuando se omite, se utiliza TRUE por defecto.

    Consejo: Disponemos de una guía detallada sobre VLOOKUP en las Hojas de cálculo de Google, en la que encontrarás más información sobre esta función, sus peculiaridades y límites, y más ejemplos de fórmulas.

    Teniendo en cuenta estos argumentos, vamos a utilizar VLOOKUP para combinar dos hojas de Google.

    Supongamos que tengo una pequeña tabla con bayas y sus IDs en la Hoja2. Sin embargo, la disponibilidad de stock es desconocida:

    Llamemos a esta tabla la principal, ya que mi objetivo es rellenarla.

    También hay otra tabla en la Hoja1 con todos los datos, incluida la disponibilidad de existencias:

    La llamaré tabla de consulta, ya que me fijaré en ella para obtener los datos.

    Utilizaré la función VLOOKUP de Google Sheets para combinar estas 2 hojas. La función comparará las bayas de ambas tablas y extraerá la información de "existencias" correspondiente de la búsqueda en la tabla principal.

    =VLOOKUP(B2,Hoja1!$B$2:$C$10,2,FALSE)

    A continuación se muestra cómo esta fórmula fusiona exactamente dos hojas de Google:

    1. Busca el valor de B2 (hoja principal) en la columna B de la Hoja1 (hoja de consulta).

      Nota: Recuerde que VLOOKUP explora la primera columna del rango especificado. Hoja1 $B$2:$C$10 .

      Nota: Utilizo referencias absolutas para el rango porque copio la fórmula columna abajo y por lo tanto necesito que este rango permanezca igual en cada fila para que el resultado no se rompa.

    2. FALSE al final dice que los datos de la columna B (en la hoja de búsqueda) no están ordenados, por lo que sólo se tendrán en cuenta las coincidencias exactas.
    3. Una vez que hay una coincidencia, el VLOOKUP de Google Sheets extrae el registro relacionado de la 2ª columna de ese rango (columna C).

    Ocultar los errores devueltos por VLOOKUP en Google Sheets - IFERROR

    Pero, ¿qué pasa con los errores #N/A?

    Se ven en esas filas en las que las bayas no tienen coincidencias en otra hoja y no hay nada que devolver. Por suerte, hay una forma de mantener esas celdas vacías en su lugar.

    Simplemente envuelve tu VLOOKUP de Google Sheets en IFERROR:

    =IFERROR(VLOOKUP(B2,Hoja1!$B$2:$C$10,2,FALSE),"")

    Sugerencia: atrapa y corrige otros errores que pueda devolver el VLOOKUP de Google Sheets utilizando las soluciones de esta guía.

    Match & actualizar los registros de toda la columna a la vez - ArrayFormula

    Una cosa más que me gustaría mencionar es cómo hacer coincidir y combinar los datos de Google Sheets para toda la columna a la vez.

    Nada del otro mundo, sólo una función más: ArrayFormula.

    Simplemente reemplace su registro clave de una celda en Google Sheets VLOOKUP con toda la columna y ponga toda esta fórmula dentro de ArrayFormula:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Hoja1!$B$2:$C$10,2,FALSE),""))

    De esta forma, no tendrá que copiar la fórmula en la columna. ArrayFormula devolverá el resultado correcto a cada celda de inmediato.

    Aunque VLOOKUP en Hojas de cálculo de Google es perfecto para tareas tan sencillas, tiene algunos límites. He aquí uno de los inconvenientes: no puede mirar a su izquierda. Sea cual sea el rango que indiques, siempre explora su primera columna.

    Por lo tanto, si necesitas fusionar 2 hojas de Google y extraer ID (datos de la 1ª columna) en función de las bayas (2ª columna), VLOOKUP no te ayudará, ya que no podrás construir una fórmula correcta.

    En casos como este, entra en juego INDEX MATCH para Google Sheets.

    Match & fusionar hojas de Google utilizando INDEX MATCH dúo

    INDEX MATCH, o más bien INDEX & MATCH, son en realidad dos funciones diferentes de Google Sheets, pero cuando se utilizan juntas, es como un VLOOKUP de nivel superior.

    Sí, también fusionan hojas de Google: actualizan las celdas de una tabla con registros de otra tabla basándose en registros clave comunes.

    Pero lo hacen mucho mejor ya que ignoran todas esas limitaciones que tiene VLOOKUP.

    No voy a cubrir todos los fundamentos de hoy porque lo hice en esta entrada del blog. Pero te voy a dar algunos ejemplos de fórmulas INDEX MATCH para que puedas ver cómo funcionan directamente en las hojas de cálculo de Google. Voy a utilizar las mismas tablas de ejemplo de arriba.

    INDEX MATCH en acción en Google Sheets

    En primer lugar, fusionemos esas hojas de Google y actualicemos la disponibilidad de existencias de todas las bayas coincidentes:

    =INDEX(Hoja1!$C$1:$C$10,MATCH(B2,Hoja1!$B$1:$B$10,0))

    ¿Cómo funcionan INDEX & MATCH cuando se utilizan juntos de esta forma?

    1. MATCH mira en B2 y busca exactamente el mismo registro en la columna B de la Hoja1. Una vez encontrado, devuelve el número de la fila que contiene ese valor - 10 en mi caso.
    2. INDEX también va a esa 10ª fila de la Hoja1, sólo que toma el valor de otra columna - C.

    Ahora vamos a probar INDEX MATCH contra lo que Google Sheets VLOOKUP no puede hacer - combinar hojas y actualizar la columna de la izquierda con los IDs requeridos:

    =INDEX(Hoja1!$A$2:$A$10,MATCH(B2,Hoja1!$B$2:$B$10,0))

    Muy fácil :)

    Gestión de errores devueltos por INDEX MATCH en Google Sheets

    Vayamos más allá y deshagámonos de esos errores en las celdas sin coincidencias. IFERROR nos ayudará de nuevo. Sólo tienes que poner tu INDEX MATCH de Google Sheets como primer argumento.

    Ejemplo 1.

    =IFERROR(INDEX(Hoja1!$C$1:$C$10,MATCH(B2,Hoja1!$B$1:$B$10,0)),"")

    Ejemplo 2.

    =IFERROR(INDEX(Hoja1!$A$2:$A$10,MATCH(B2,Hoja1!$B$2:$B$10,0)),"")

    Ahora, ¿cómo fusionar esas hojas de Google utilizando INDEX MATCH y actualizar todas las celdas de toda la columna a la vez?

    Bueno... No es así. Hay un pequeño problema: ArrayFormula no funciona con estos dos.

    Tendrás que copiar la fórmula INDEX MATCH en la columna o utilizar la función QUERY de Google Sheets como alternativa.

    Fusionar hojas de Google & actualizar celdas usando QUERY

    Google Sheets QUERY es la función más potente de las hojas de cálculo. Teniendo esto en cuenta, no es de extrañar que ofrezca una forma de fusionar tablas: combinar & fusionar valores de distintas hojas.

    =QUERY(datos, consulta, [cabeceras])

    Sugerencia. Si nunca has utilizado Google Sheets QUERY, este tutorial te ayudará a familiarizarte con su peculiar lenguaje.

    ¿Cómo debería ser la fórmula QUERY para actualizar el archivo Stock con los datos reales?

    =QUERY(Hoja1!$A$2:$C$10, "select C where&Hoja4!$B2:$B$10&"")

    • Google Sheets QUERY mira mi hoja de búsqueda (Hoja1 con los registros que necesito tirar a mi tabla principal)
    • y devuelve todas aquellas celdas de la columna C en las que la columna B coincide con bayas de mi tabla principal

    Permítanme perder esos errores para las celdas sin coincidencias:

    =IFERROR(QUERY(Hoja1!$A$2:$C$10, "select C where&Hoja4!$B2:$B$10&""),"")

    Bueno, así está mejor :)

    Fusionar tablas de diferentes hojas de cálculo de Google: función IMPORTRANGE

    Hay una función más que me gustaría mencionar. Es importante porque te permite fusionar hojas que residen en diferentes hojas de cálculo (archivos) de Google.

    La función se llama IMPORTRANGE:

    =IMPORTRANGE("hoja_de_calculo_url", "rango_cadena")
    • el primero va el enlace a esa hoja de cálculo de donde sacas los datos
    • el último va la hoja & el rango que desea tomar de esa hoja de cálculo

    Nota. Recomiendo encarecidamente consultar los documentos de Google sobre esta función para no perderse ningún matiz importante de su funcionamiento.

    Imagina que tu hoja de consulta (con los datos de referencia) está en la Hoja de cálculo 2 (también conocida como hoja de cálculo de consulta). Tu hoja principal está en la Hoja de cálculo 1 (hoja de cálculo principal).

    Nota: Para que IMPORTRANGE funcione, debes conectar ambos archivos. Y aunque Google Sheet sugiere un botón para ello justo después de escribir tu fórmula en una celda y pulsar Entre en Esta guía paso a paso te ayudará.

    A continuación se muestran los ejemplos para combinar hojas de Google desde diferentes archivos utilizando IMPORTRANGE con cada función que has aprendido hoy.

    Ejemplo 1. IMPORTRANGE + VLOOKUP

    Utiliza IMPORTRAGE como rango en VLOOKUP para combinar 2 hojas de cálculo de Google separadas:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),""))

    Ejemplo 2. IMPORTRANGE + INDEX MATCH

    En cuanto a INDEX MATCH & IMPORTRANGE, la fórmula se vuelve más voluminosa, ya que es necesario hacer referencia a otra hoja de cálculo dos veces: como rango para INDEX y como rango para MATCH:

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Hoja1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Hoja1!$B$2:$B$10"),0),"")

    Ejemplo 3. IMPORTRANGE + QUERY

    Este tándem de fórmulas es mi favorito personal. Pueden hacer frente a casi cualquier cosa en las hojas de cálculo cuando se utilizan juntos. La fusión de hojas de Google a partir de hojas de cálculo separadas no es una excepción.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Hoja1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&""),"")

    ¡Uf!

    Eso es todo para funciones & fórmulas.

    Eres libre de elegir cualquier función & construye tu propia fórmula con los ejemplos anteriores...

    o...

    ...prueba una herramienta especial que fusiona hojas de Google por ti ;)

    Combinar datos sin fórmulas - Complemento de Combinar hojas para Google Sheets

    Si no tienes tiempo para construir o incluso aprender fórmulas, o si simplemente buscas la forma más sencilla de unir datos basándote en registros comunes, las Hojas de Fusión serán perfectas.

    Todo lo que tiene que hacer es marcar las casillas en 5 sencillos pasos:

    1. seleccione su hoja principal
    2. seleccione su hoja de consulta
    3. marcar las columnas clave (las que contienen registros que deben coincidir) con casillas de verificación
    4. elija las columnas que desea actualizar:

  • ajustar opciones adicionales, por ejemplo, marcar los registros actualizados con un color o en una columna de estado, etc.
  • Incluso existe la posibilidad de guardar todas las opciones seleccionadas en un escenario y reutilizarlo siempre que lo necesites:

    Vea este vídeo de demostración de 3 minutos para ver cómo funciona:

    Te animo a que instales tus Hojas Combinadas desde la tienda de Hojas de Google y sigas estas instrucciones para intentar actualizar tu propia tabla con la información de otra hoja.

    Hoja de cálculo con ejemplos de fórmulas

    Fusionar hojas de Google & actualizar datos - ejemplos de fórmulas (haz una copia del archivo)

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.