KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как сгенерировать или составить список всех возможных перестановок в Excel?

АвторСяоянДата изменения

Допустим, у вас есть три символа — XYZ. Вы хотите получить список всех возможных перестановок этих символов и ожидаете шесть уникальных комбинаций: XYZ, XZY, YXZ, YZX, ZXY и ZYX. Как в Excel быстро сгенерировать полный список перестановок для любого заданного набора символов?

Генерация или составление списка всех возможных перестановок на основе символов с помощью кода VBA


голубая стрелка вправо с пузырём Генерация или составление списка всех возможных перестановок на основе символов с помощью кода VBA

Приведённый ниже код VBA поможет вам создать список всех возможных перестановок на основе указанного количества букв. Выполните следующие действия:

1. Удерживая нажатыми клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.

2. Нажмите Вставка > Модуль и вставьте приведённый ниже код в окно Модуля.

Код 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. После ввода символов нажмите кнопку ОК, и все возможные перестановки появятся в столбце A активного листа. См. скриншот:

отображаются все возможные перестановки

Примечание: если длина введённой строки составляет 8 или более символов, этот код не будет работать из-за чрезмерного количества перестановок.

длина введённых символов меньше 8 символов


Создание списка или генерация всех возможных комбинаций из нескольких столбцов

Если вам нужно сгенерировать все возможные комбинации на основе данных из нескольких столбцов, удобного способа для выполнения этой задачи, возможно, не существует. Однако утилита Kutools для ExcelСписок всех комбинаций — поможет вам быстро и легко получить полный список всех возможных комбинаций.Нажмите для загрузки Kutools для Excel!

вывести все комбинации с помощью kutools

Kutools для Excel: более чем 300 удобных надстроек для Excel, бесплатная пробная версия без ограничений в течение 30 дней.Скачайте и начните бесплатный пробный период прямо сейчас!

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек