Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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

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


arrow blue right bubble Создание или перечисление всех возможных перестановок на основе символов с помощью кода 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, чтобы запустить этот код, и появится диалоговое окно, которое напомнит вам ввести символы, для которых вы хотите перечислить все перестановки, см. скриншот:

enter the characters that you want to list all permutations in the box

4. После ввода символов нажмите кнопку ОК, и все возможные перестановки будут отображены в столбце A активного листа. См. скриншот:

all the possible permutations are displayed

Примечание: Если длина введенных символов равна или больше 8 символов, этот код не будет работать, потому что существует слишком много перестановок.

the entered character length is not equal or greater than 8 characters


Перечислить или создать все возможные комбинации из нескольких столбцов

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

list all combinations by kutools

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

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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