Fusionar dos listas sin duplicados

Una situación clásica: tiene dos listas que deben fusionarse en una sola. Además, en las listas iniciales puede haber elementos únicos y coincidentes (tanto entre las listas como dentro), pero en la salida debe obtener una lista sin duplicados (repeticiones):

Fusionar dos listas sin duplicados

Veamos tradicionalmente varias formas de resolver un problema tan común, desde primitivo "en la frente" hasta más complejo, pero elegante.

Método 1: eliminar duplicados

Puede resolver el problema de la manera más simple: copie manualmente los elementos de ambas listas en una y luego aplique la herramienta al conjunto resultante. Eliminar duplicados de la pestaña Datos (Datos — Quitar duplicados):

Fusionar dos listas sin duplicados

Por supuesto, este método no funcionará si los datos en las listas de origen cambian con frecuencia; tendrá que repetir todo el procedimiento después de cada cambio nuevamente. 

Método 1a. tabla dinámica

Este método es, de hecho, una continuación lógica del anterior. Si las listas no son muy grandes y se conoce de antemano la cantidad máxima de elementos en ellas (por ejemplo, no más de 10), puede combinar dos tablas en una mediante enlaces directos, agregar una columna con unos a la derecha y construya una tabla de resumen basada en la tabla resultante:

Fusionar dos listas sin duplicados

Como sabes, la tabla dinámica ignora las repeticiones, por lo que en la salida obtendremos una lista combinada sin duplicados. La columna auxiliar con 1 es necesaria solo porque Excel puede crear tablas de resumen que contengan al menos dos columnas.

Cuando se modifican las listas originales, los nuevos datos irán a la tabla combinada a través de enlaces directos, pero la tabla dinámica deberá actualizarse manualmente (clic derecho – Actualizar y guardar). Si no necesita volver a calcular sobre la marcha, entonces es mejor usar otras opciones.

Método 2: fórmula de matriz

Puedes resolver el problema con fórmulas. En este caso, el recálculo y actualización de los resultados se producirá de forma automática e instantánea, inmediatamente después de los cambios en las listas originales. Por conveniencia y brevedad, démosle nombres a nuestras listas. Lista 1 и Lista 2usando Administrador de nombre de la pestaña. fórmula (Fórmulas — Administrador de nombres — Crear):

Fusionar dos listas sin duplicados

Después de nombrar, la fórmula que necesitamos se verá así:

Fusionar dos listas sin duplicados

A primera vista, parece espeluznante, pero, de hecho, no todo da tanto miedo. Permítanme expandir esta fórmula en varias líneas usando la combinación de teclas Alt+Enter y sangrar con espacios, como lo hicimos, por ejemplo aquí:

Fusionar dos listas sin duplicados

La lógica aquí es la siguiente:

  • La fórmula INDEX(List1;MATCH(0;COUNTIF($E$1:E1;List1); 0) selecciona todos los elementos únicos de la primera lista. Tan pronto como se agotan, comienza a dar un error #N/A:

    Fusionar dos listas sin duplicados

  • La fórmula ÍNDICE(Lista2;COINCIDIR(0;CONTAR.SI($E$1:E1;Lista2); 0)) extrae los elementos únicos de la segunda lista de la misma manera.
  • Anidadas entre sí, dos funciones IFERROR implementan la salida primero de las únicas de la lista-1, y luego de la lista-2, una tras otra.

Tenga en cuenta que esta es una fórmula de matriz, es decir, después de escribir, debe ingresarse en una celda que no es ordinaria Participar, pero con un atajo de teclado Ctrl+Shift+Participar y luego copie (arrastrar) hacia abajo a las celdas secundarias con un margen.

En la versión en inglés de Excel, esta fórmula se ve así:

=SI.ERROR(SI.ERROR(ÍNDICE(Lista1, COINCIDIR(0, CONTAR.SI($E$1:E1, Lista1), 0)), ÍNDICE(Lista2, COINCIDIR(0, CONTAR.SI($E$1:E1, Lista2), 0)) ), “”) 

La desventaja de este enfoque es que las fórmulas de matriz ralentizan notablemente el trabajo con el archivo si las tablas de origen tienen una gran cantidad de elementos (varios cientos o más). 

Método 3. Consulta de poder

Si sus listas de origen tienen una gran cantidad de elementos, por ejemplo, varios cientos o miles, entonces, en lugar de una fórmula de matriz lenta, es mejor usar un enfoque fundamentalmente diferente, a saber, las herramientas complementarias de Power Query. Este complemento está integrado en Excel 2016 de forma predeterminada. Si tiene Excel 2010 o 2013, puede descargarlo e instalarlo por separado (gratis).

El algoritmo de acciones es el siguiente:

  1. Abra una pestaña separada del complemento instalado Power Query (si tiene Excel 2010-2013) o simplemente vaya a la pestaña Datos (si tiene Excel 2016).
  2. Seleccione la primera lista y presione el botón Desde tabla/rango (De Rango/Tabla). Cuando se nos pregunta sobre la creación de una "tabla inteligente" de nuestra lista, estamos de acuerdo:

    Fusionar dos listas sin duplicados

  3. Se abre la ventana del editor de consultas, donde puede ver los datos cargados y el nombre de la consulta Tabla 1 (Puedes cambiarlo por el tuyo propio si quieres).
  4. Haga doble clic en el encabezado de la tabla (palabra Lista 1) y cambiarle el nombre a cualquier otro (por ejemplo Personas). Qué nombrar exactamente no es importante, pero el nombre inventado debe recordarse, porque. tendrá que volver a usarse más tarde al importar la segunda tabla. Fusionar dos tablas en el futuro solo funcionará si los encabezados de sus columnas coinciden.
  5. Expanda la lista desplegable en la esquina superior izquierda cerrar y descargar y elige Cerrar y cargar en… (Cerrar&Cargar a…):

    Fusionar dos listas sin duplicados

  6. En el siguiente cuadro de diálogo (puede verse un poco diferente, no se alarme), seleccione Solo crea una conexión (Solo crear conexión):

    Fusionar dos listas sin duplicados

  7. Repetimos todo el procedimiento (puntos 2-6) para la segunda lista. Al cambiar el nombre de un encabezado de columna, es importante utilizar el mismo nombre (Personas) que en la consulta anterior.
  8. En la ventana de Excel en la pestaña Datos o en la pestaña Power Query Elige Obtener datos – Combinar solicitudes – Agregar (Obtener datos — Combinar consultas — Agregar):

    Fusionar dos listas sin duplicados

  9. En el cuadro de diálogo que aparece, seleccione nuestras solicitudes de las listas desplegables:

    Fusionar dos listas sin duplicados

  10. Como resultado, obtendremos una nueva consulta, donde dos listas se conectarán una debajo de la otra. Queda por eliminar los duplicados con el botón. Eliminar filas: eliminar duplicados (Eliminar filas — Eliminar duplicados):

    Fusionar dos listas sin duplicados

  11. La consulta terminada se puede renombrar en el lado derecho del panel de opciones, dándole un nombre sensato (de hecho, este será el nombre de la tabla de resultados) y todo se puede cargar en la hoja con el comando cerrar y descargar (Cerrar&Cargar):

    Fusionar dos listas sin duplicados

En el futuro, con cualquier cambio o adición a las listas originales, bastará con hacer clic derecho para actualizar la tabla de resultados.

  • Cómo recopilar varias tablas de diferentes archivos usando Power Query
  • Extracción de elementos únicos de una lista
  • Cómo comparar dos listas entre sí para coincidencias y diferencias

Deje un comentario