Как создать все комбинации из 3 или нескольких столбцов в Excel?
Предположим, у меня есть 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 for Applications.
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 или нескольких столбцов будут созданы сразу, см. скриншот:
Создание всех комбинаций на основе данных из 3 или нескольких столбцов с использованием потрясающей функции
Если у вас есть Kutools для Excel, с его мощной функцией Список всех комбинаций, вы можете перечислить все комбинации нескольких столбцов быстро и легко.
1. Нажмите Kutools > Вставка > Список всех комбинаций, см. скриншот:
2. В диалоговом окне Список всех комбинаций укажите данные столбцов и разделители для перечисления комбинаций, как показано на следующем скриншоте:
3. После настройки данных и разделителя нажмите кнопку ОК, в следующем всплывающем окне выберите ячейку для размещения результата, см. скриншот:
4. Затем нажмите кнопку OK, и все комбинации будут созданы немедленно, как показано на скриншоте ниже:
Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!