Как сгенерировать все комбинации из 3 или нескольких столбцов в Excel?
Предположим, у меня есть 3 столбца данных, теперь я хочу сгенерировать или перечислить все комбинации данных в этих 3 столбцах, как показано ниже. Есть ли у вас какие-нибудь хорошие методы решения этой задачи в Excel?
Сгенерируйте все комбинации на основе 3 столбцов данных с помощью формулы
Создавайте все комбинации на основе 3 или нескольких столбцов данных с помощью кода VBA
Сгенерируйте все комбинации на основе 3 столбцов данных с помощью формулы
Следующая длинная формула может помочь перечислить все комбинации из 3 столбцов, пожалуйста, сделайте следующее:
1. Пожалуйста, щелкните ячейку, в которой нужно вывести результат, а затем скопируйте и вставьте в нее следующую формулу:
Внимание: В этой формуле: A2: A4, B2: B6, C2: C5 - это диапазоны данных, которые вы хотите использовать.
2. Затем перетащите дескриптор заполнения вниз к ячейкам, пока не отобразятся пустые ячейки, что означает, что были перечислены все комбинации из 3 столбцов, см. Снимок экрана:
Создавайте все комбинации на основе 3 или нескольких столбцов данных с помощью кода VBA
Приведенную выше длинную формулу несколько сложно использовать, если необходимо использовать данные из нескольких столбцов, ее будет сложно изменить. Здесь я представлю код VBA, чтобы быстро с этим справиться.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.
Код VBA: генерировать все комбинации из 3 или нескольких столбцов
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A4") 'First column data
Set xDRg2 = Range("B2:B6") 'Second column data
Set xDRg3 = Range("C2:C5") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
Внимание: В приведенном выше коде A2: A4, B2: B6, C2: C5 диапазон данных, который вы хотите использовать, E2 - это выходная ячейка, в которой вы хотите найти результаты. Если вы хотите получить все комбинации из большего количества столбцов, измените и добавьте другие параметры в код по мере необходимости.
3, Затем нажмите F5 ключ для запуска этого кода, и все комбинации из 3 или нескольких столбцов будут сгенерированы одновременно, см. снимок экрана:
Создавайте все комбинации на основе трех или нескольких столбцов данных с помощью потрясающей функции
Если у вас есть Kutools for Excel, с его мощным Список всех комбинаций вы можете быстро и легко перечислить все комбинации нескольких столбцов.
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Нажмите Кутулс > Вставить > Список всех комбинаций, см. снимок экрана:
2. В Список всех комбинаций В диалоговом окне укажите данные столбцов и разделители для перечисления комбинаций, как показано на следующем снимке экрана:
3. После установки данных и разделителя нажмите Ok , в следующем окне запроса выберите ячейку, чтобы найти результат, см. снимок экрана:
4. А затем нажмите OK все комбинации были сгенерированы немедленно, как показано ниже:
Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Группировка сводной таблицы по номер недели, день недели и другое ... Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя...

- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!










