Cómo generar todas las combinaciones posibles de elementos a partir de dos listas

Dadas dos listas separadas de artículos, ¿cómo puedes crear una lista de todas las combinaciones posibles de esas listas? En esta publicación, le mostraré cómo se puede hacer esto usando Power Query.

En este ejemplo, configuré dos listas y creé tablas a partir de ellas llamadas List1 y List2 .

Descargar archivo de ejemplo

Contenidos
  1. Crear una consulta de solo conexión para las dos listas
  2. Unir las dos consultas de solo conexión con una consulta de combinación
  3. Nuestra lista de todas las combinaciones posibles
  4. Un método un poco más rápido

Crear una consulta de solo conexión para las dos listas

Para cada tabla, vamos a crear una consulta de solo conexión que agregue una columna con el mismo valor constante en cada fila. Luego usaremos esta columna para unir nuestras dos tablas usando una consulta de combinación.

Seleccione una celda en su lista y luego vaya a la pestaña Datos y seleccione el comando Desde tabla/rango en la sección Obtener y transformar datos .

Desde el editor de consultas, vaya a la pestaña Agregar columna y seleccione Columna personalizada en el menú.

En el cuadro de diálogo Columna personalizada , agregue una fórmula constante. Puede ser cualquier texto o número, solo asegúrese de que sea el mismo en ambas consultas de lista.

  1. Dale un nombre a tu nueva columna. Lo he llamado Join Column .
  2. Agregue una constante a la fórmula de columna personalizada . He elegido 1 para mi constante.
  3. Pulse el botón Aceptar .

Vaya a la pestaña Inicio en el editor de consultas y presione la parte inferior del botón Cerrar y cargar , luego seleccione Cerrar y cargar en del menú.

En el cuadro de diálogo Importar datos , seleccione Solo crear conexión y luego presione el botón Aceptar .

Repita estos pasos para ambas listas . Debería tener dos consultas de solo conexión llamadas List1 y List2 .

Unir las dos consultas de solo conexión con una consulta de combinación

Ahora estamos listos para unir estas dos listas mediante una consulta de combinación .

Vaya a la pestaña Datos y seleccione Obtener datos en la sección Obtener y transformar datos . Seleccione Combinar consultas en el menú y luego seleccione Combinar en el submenú.

Ahora podemos configurar nuestra consulta de combinación para unir las dos listas.

  1. Seleccione List1 para la primera tabla.
  2. Haga clic con el botón izquierdo en la columna Unir creada en consultas de solo conexión.
  3. Seleccione List2 para la segunda tabla.
  4. Haga clic con el botón izquierdo en la columna Unir en las consultas de solo conexión List2.
  5. Seleccione el tipo de unión como Exterior completo (todas las filas de ambos) .
  6. Pulse el botón Aceptar .

Podemos eliminar la Columna de unión ahora, ya que en realidad ya no la necesitamos y la salida estará menos abarrotada si la eliminamos. Haga clic con el botón derecho en el encabezado de la columna y seleccione Eliminar .

Ahora podemos expandir la tabla List2 en nuestra consulta.

  1. Haga clic izquierdo en el icono de filtro a la derecha del encabezado de la columna.
  2. Desmarque la columna Unir ya que no la necesitamos en los resultados de la consulta.
  3. Desmarque la casilla Usar el nombre de la columna original como prefijo . Tampoco necesitamos esto.
  4. Pulse el botón Aceptar .

Ahora cierre y cargue la consulta desde la pestaña Inicio .

Nuestra lista de todas las combinaciones posibles

Ahora tenemos una tabla que contiene todas las combinaciones posibles de elementos de List1 y List2 .

Con tablas pequeñas como este ejemplo, podríamos haber creado fácilmente una tabla manualmente. Sin embargo, para listas grandes, esta consulta se convierte en un gran ahorro de tiempo.

También podemos iterar este proceso si tenemos más de dos tablas para encontrar todas las combinaciones posibles de elementos de 3 o más listas.

Un método un poco más rápido

Desde que escribí esta publicación, encontré un método un poco más rápido para hacer esto. En este método, aún necesitamos cargar ambas tablas en Power Query, pero solo necesitaremos crear una columna personalizada y no necesitamos crear una consulta de combinación.

Cree una consulta de solo conexión que importe la tabla List1 .

Ahora, cree una consulta que importe la tabla List2 y edite la consulta. Agregue una columna personalizada y asígnele el nombre List1 . Introduzca la fórmula =Lista1 .

Expanda la nueva columna List1 y luego cierre y cargue la consulta en una tabla.

¡La tabla tendrá todas las combinaciones de elementos de ambas listas y ahorramos en hacer una columna personalizada en List1 y evitamos usar una consulta de combinación por completo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumiremos que estás de acuerdo.