¿Cómo enumerar todas las combinaciones posibles de una sola columna en Excel?
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:
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:
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:
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:
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
- 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:
Las mejores herramientas de productividad de oficina
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!