KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

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

AutorXiaoyang Fecha de modificación

Si desea obtener todas las combinaciones posibles a partir de los datos de una sola columna y lograr un resultado como el que se muestra en la siguiente captura de pantalla, ¿conoce algún método rápido para hacerlo en Excel?

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

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


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

Las siguientes fórmulas matriciales pueden ayudarle a realizar esta tarea; siga los pasos uno a uno:

1. En primer lugar, debe crear dos celdas auxiliares con fórmulas. En la celda C1, introduzca la siguiente fórmula y pulse Ctrl + Mayús + Entrar para obtener el resultado:

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

crear la primera fórmula auxiliar

2. En la celda C2, introduzca la fórmula siguiente y pulse Ctrl + Mayús + Entrar simultáneamente para obtener el segundo resultado; consulte la captura de pantalla:

=CONCAT(A2:A6&REPT(« »,C2-LEN(A2:A6)))
Nota: En esta fórmula,A2:A6es la lista de celdas cuyas combinaciones desea enumerar,C2es la celda que contiene la fórmula creada en el paso 1.

crear la segunda fórmula auxiliar

3. A continuación, copie y pegue la siguiente fórmula en la celda D2 y pulse Ctrl + Mayús + Entrar simultáneamente para obtener el primer resultado; consulte 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:A6es la lista de celdas cuyas combinaciones desea enumerar,C2es la celda que contiene la fórmula creada en el paso 1,C3es la celda con la fórmula creada en el paso 2, y el +es el carácter separador entre combinaciones; puede cambiarlo según sus necesidades.

introducir una fórmula

4. A continuación, seleccione la celda que contiene la fórmula y arrastre el controlador de relleno hacia abajo hasta que aparezcan celdas vacías. Así podrá ver todas las combinaciones de los datos de la columna especificada, tal como se muestra en la siguiente demostración:

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

Descubra la magia de Excel con KUTOOLS AI

  • Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
  • fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
  • Programación en VBA: Escriba e implemente código VBA con facilidad.
  • Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
  • Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Potencie sus capacidades en Excel con herramientas impulsadas por inteligencia artificial.Descárguelo ahora¡y experimente una eficiencia como nunca antes!

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

Las fórmulas anteriores solo están disponibles en versiones más recientes de Excel. Si usa una versión anterior, el siguiente código VBA le será de gran ayuda.

1. Pulse Alt + F11 simultáneamente para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. A continuación, haga clic en Insertar > Módulo y copie y pegue el siguiente código VBA en la ventana.

Código VBA: Enumerar 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. A continuación, pulse la tecla F5 para ejecutar este código. Todas las combinaciones de la columna única aparecerán tal como se muestra en la siguiente captura de pantalla:

código VBA para obtener todas las combinaciones de la columna única

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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


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

  • Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos