Як створити або перерахувати всі можливі перестановки в Excel?
Наприклад, у мене є три символи XYZ, тепер я хочу перерахувати всі можливі перестановки на основі цих трьох символів, щоб отримати шість різних результатів, як це: XYZ, XZY, YXZ, YZX, ZXY та ZYX. Як в Excel можна швидко створити або перерахувати всі перестановки на основі різної кількості символів?
Створіть або перелічіть усі можливі перестановки на основі символів із кодом VBA
Створіть або перелічіть усі можливі перестановки на основі символів із кодом VBA
Наступний код VBA може допомогти вам перерахувати всі перестановки на основі вашої конкретної кількості літер, будь ласка, виконайте наступне:
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно
Код VBA: Перелічіть усі можливі перестановки в 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. Потім натисніть F5 клавішу для запуску цього коду, і з'явиться вікно запиту, щоб нагадати вам про введення символів, для яких потрібно перерахувати всі перестановки, див.
4. Після введення символів натисніть кнопку OK кнопки, усі можливі перестановки відображаються у стовпці А активного аркуша. Дивіться знімок екрана:
примітки: Якщо довжина введеного символу дорівнює або перевищує 8 символів, цей код не буде працювати, оскільки забагато перестановок.
Перелічіть або згенеруйте всі можливі комбінації з декількох стовпців
Якщо вам потрібно створити всі можливі комбінації на основі даних кількох стовпців, можливо, це не найкращий спосіб вирішити завдання. Але, Kutools для Excel's Перелічіть усі комбінації Утиліта допоможе вам швидко та легко перерахувати всі можливі комбінації. Клацніть, щоб завантажити Kutools для Excel!
Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!