Cómo Generar Todas Las Combinaciones (Permutar) en Excel
Last updated on mayo 2, 2023
Este tutorial muestra cómo generar todas las Combinaciones (Permutaciones) en Excel.
Generar Todas las Permutaciones
Con una macro VBA, puede generar todas las permutaciones posibles de un determinado conjunto de caracteres. Todo lo que tiene que hacer es crear un pequeño fragmento de código e introducir los caracteres de entrada.
- En la cinta de opciones, vaya a Programador > Visual Basic. Si no tienes disponible esta pestaña, averigua cómo añadir la pestaña Desarrollador.
- En la ventana VBA, vaya a Insertar > Módulo.
- En la ventana de código de la derecha, pegue el siguiente código y guárdelo.
Sub ObtenerCadena()
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Introduzca el Texto a Combinar/Permutar:", "Combinación/Permutación", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub If Len(xStr) >= 8 Then
MsgBox "Demasiadas combinaciones!", vbInformation, "Combinaciones"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call ObtenerPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub ObtenerPermutation(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 ObtenerPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
- Ahora que ha creado la macro ObtenerCadena, puede ejecutarla. En la cinta de opciones, vaya a Programador > Macros.
- Si aún no está seleccionada, seleccione la macro y haga clic en Ejecutar.
- En la ventana emergente, introduzca los caracteres para la combinación (aquí, abcde) y haga clic en Aceptar.
Como resultado, en la columna A, se obtienen todas las permutaciones posibles (120) de los caracteres introducidos.
Además de la macro descrita anteriormente, Excel tiene una función incorporada, la Función PERMUTACIONES, que le permite calcular cuántas permutaciones se producen para cualquier número dado. Esta función sólo funciona con números y no con texto.