¿Cómo generar o listar todas las permutaciones posibles en Excel?
Por ejemplo, tengo tres caracteres: XYZ, y quiero listar todas las permutaciones posibles con ellos para obtener seis combinaciones distintas: XYZ, XZY, YXZ, YZX, ZXY y ZYX. En Excel, ¿cómo puedo generar o listar rápidamente todas las permutaciones a partir de un número variable de caracteres?
Genere o liste todas las permutaciones posibles basadas en caracteres mediante código VBA
Genere o liste todas las permutaciones posibles basadas en caracteres mediante código VBA
El siguiente código VBA le permite generar todas las permutaciones posibles según el número específico de letras que indique. Siga estos pasos:
1. Mantenga pulsadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del Módulo.
Código VBA: Liste 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. A continuación, pulse la tecla F5 para ejecutar este código. Aparecerá un cuadro de diálogo que le pedirá que introduzca los caracteres cuyas permutaciones desea listar; consulte la captura de pantalla:

4. Tras introducir los caracteres, haga clic en el botón Aceptar; todas las permutaciones posibles aparecerán en la columna A de la hoja de cálculo activa. Consulte la captura de pantalla:

Nota: Si la longitud del texto introducido es igual o superior a 8 caracteres, este código no funcionará debido a la gran cantidad de permutaciones posibles.

Genere o liste todas las combinaciones posibles a partir de varias columnas
Si necesita generar todas las combinaciones posibles a partir de datos de varias columnas, quizás no exista una forma sencilla de realizar esta tarea. Sin embargo, la función Kutools para Excel «Listar todas las combinaciones» puede ayudarle a obtener todas las combinaciones posibles de forma rápida y sencilla.¡Haga clic para descargar Kutools para Excel!

Kutools para Excel: con más de 300 complementos útiles para Excel, pruébelos gratis sin limitaciones durante 30 días.¡Descárguelo y pruébelo ahora!
Las mejores herramientas de productividad para Office
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.
- 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