¿Cómo generar o enumerar todas las posibles permutaciones en Excel?
Por ejemplo, tengo tres caracteres XYZ, ahora quiero enumerar todas las posibles permutaciones basadas en estos tres caracteres para obtener seis resultados diferentes como este: XYZ, XZY, YXZ, YZX, ZXY y ZYX. En Excel, ¿cómo podría generar o enumerar rápidamente todas las permutaciones basadas en diferentes números de caracteres?
Genere o enumere todas las permutaciones posibles basadas en caracteres con código VBA
Genere o enumere todas las permutaciones posibles basadas en caracteres con código VBA
El siguiente código VBA puede ayudarlo a enumerar todas las permutaciones en función de su número específico de letras, haga lo siguiente:
1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.
Código de VBA: enumere todas las permutaciones posibles en Excel
Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
3. Entonces presione F5 para ejecutar este código, y aparece un cuadro emergente para recordarle que ingrese los caracteres que desea enumerar todas las permutaciones, vea la captura de pantalla:
4. Después de ingresar los caracteres, haga clic en OK , todas las posibles permutaciones se muestran en la columna A de la hoja de trabajo activa. Ver captura de pantalla:
Note: Si la longitud de caracteres introducida es igual o superior a 8 caracteres, este código no funcionará porque hay demasiadas permutaciones.
Enumere o genere todas las combinaciones posibles de varias columnas
Si necesita generar todas las combinaciones posibles basadas en datos de múltiples columnas, tal vez no haya una buena manera de abordar la tarea. Pero, Kutools for Excel's Listar todas las combinaciones La utilidad puede ayudarle a enumerar todas las combinaciones posibles de forma rápida y sencilla. ¡Haga clic para descargar Kutools para Excel!
Kutools for Excel: con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. ¡Descarga y prueba gratis ahora!
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!