Saltar al contenido principal

¿Cómo enumerar todas las combinaciones posibles de una sola columna en Excel?

Autor: Xiaoyang Última modificación: 2024-11-13

Si desea devolver todas las combinaciones posibles de datos de una sola columna para obtener el resultado como se muestra a continuación, ¿tiene alguna forma rápida de manejar esta tarea en Excel?

Enumere todas las combinaciones posibles de una sola columna con fórmulas

Enumere todas las combinaciones posibles de una sola columna con código VBA


Enumere todas las combinaciones posibles de una sola columna con fórmulas

Las siguientes fórmulas de matriz pueden ayudarlo a lograr este trabajo, hágalo paso a paso:

1. Primero, debe crear dos celdas de fórmula auxiliares. En la celda C1, ingrese la siguiente fórmula y presione Ctrl + Shift + Enter Claves para obtener el resultado:

=MAX(LEN(A2:A6))
Nota: En esta fórmula, A2: A6 es la lista de celdas que desea enumerar sus combinaciones.

Crea la primera fórmula auxiliar

2. En la celda C2, ingrese la siguiente fórmula y presione Ctrl + Shift + Enter teclas juntas para obtener el segundo resultado, ver captura de pantalla:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
Nota: En esta fórmula, A2: A6 es la lista de celdas que desea listar sus combinaciones, C2 es la celda que contiene la fórmula que creó en el paso 1.

Crea la segunda fórmula auxiliar

3. Luego, copie y pegue la siguiente fórmula en la celda D2 y presione Ctrl + Shift + Enter claves juntas para obtener el primer resultado, vea la captura de pantalla:

=IF(ROW()>2^(COUNTA(A$2:A$6)),"",TEXTJOIN(" + ",TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),"")))
Nota: En esta fórmula, A2: A6 es la lista de celdas que desea listar sus combinaciones, C2 si la celda contiene la fórmula que creó en el paso 1, C3 es la celda con la fórmula que creó en el paso 2, la + El carácter es el separador para separar las combinaciones, puede cambiarlas según sus necesidades.

introduce una fórmula

4. Y luego, seleccione esta celda de fórmula y arrastre el controlador de relleno hacia abajo hasta que aparezcan celdas en blanco. Ahora, puede ver que todas las combinaciones de los datos de columna especificados se muestran como se muestra a continuación:

Nota: esta fórmula solo está disponible en Office 2019, 365 y versiones posteriores.
una captura de pantalla de kutools para excel ai

Desbloquee Excel Magic con Kutools AI

  • Ejecución inteligente: realice operaciones celulares, analice datos y cree gráficos, todo ello controlado por comandos simples.
  • Fórmulas personalizadas: Genere fórmulas personalizadas para optimizar sus flujos de trabajo.
  • Codificación VBA: Escriba e implemente código VBA sin esfuerzo.
  • Interpretación de fórmulas: Comprenda fórmulas complejas con facilidad.
  • Traducción de textos: Rompe las barreras del idioma dentro de tus hojas de cálculo.
Mejore sus capacidades de Excel con herramientas impulsadas por IA. Descargar Ahora ¡Y experimente la eficiencia como nunca antes!

Enumere todas las combinaciones posibles de una sola columna con código VBA

Las fórmulas anteriores solo están disponibles para las versiones más recientes de Excel, si tiene versiones anteriores de Excel, el siguiente código de VBA puede hacerle un favor.

1. prensa Alt+F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Luego, haz clic recuadro > Módulo, copie y pegue el siguiente código VBA en la ventana.

Código de VBA: enumere todas las combinaciones posibles de una sola columna

Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
    Set xDictionary = CreateObject("Scripting.Dictionary")
    xDictionary(0) = "Sets of " & xF
    Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
    xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
    Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
    pDictionary(pDictionary.Count + 1) = pValue
    Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
    If pValue = "" Then
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
    Else
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
    End If
Next
End Sub
Nota: En el código anterior:
  • A2: A6: es la lista de datos que desea utilizar;
  • C1: es la celda de salida;
  • ,: el delimitador para separar las combinaciones.

3. Y luego, presione F5 clave para ejecutar este código. Todas las combinaciones de la columna única se enumeran como se muestra a continuación:

Código VBA para obtener todas las combinaciones de una sola columna

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Especiales (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más
Utilice Kutools en su idioma preferido: ¡admite inglés, español, alemán, francés, chino y más de 40 idiomas más!

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!