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

Создание перекрёстного соединения (все комбинации) из 2 столбцов в Excel — Полное руководство

АвторСяоянДата изменения
Пример перекрестного соединения

При работе с двумя списками в Excel — например, названиями товаров и размерами, регионами и торговыми представителями или студентами и курсами — часто возникает необходимость создать все возможные комбинации элементов из этих списков. Такая операция называется перекрёстным соединением (Crossjoin), или декартовым произведением. В этом руководстве вы найдёте пошаговые инструкции, плюсы и минусы каждого подхода, а также реальные примеры, которые помогут выбрать метод, наилучшим образом соответствующий вашему рабочему процессу.


Что такое перекрёстное соединение?

Перекрёстное соединение (также известное как декартово произведение) — это операция, которая создаёт все возможные комбинации элементов двух списков. В Excel это означает, что каждый элемент списка А сопоставляется с каждым элементом списка B, формируя полную матрицу сочетаний.

Перекрёстные соединения чрезвычайно полезны во многих реальных сценариях работы с данными, например:

Варианты товаров
Объединяйте цвета, размеры и стили, чтобы создать полный каталог продукции.

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

Планирование и составление расписаний
Создайте все возможные комбинации сотрудников × смен или студентов × курсов.

Тестирование и моделирование
Создавайте различные комбинации сценариев для моделирования, прогнозирования или проверки.

Пример:

Если у вас есть:
источник данных

Результат Crossjoin будет:
результат перекрестного соединения


Выполнение перекрёстного соединения в Excel

Excel предлагает несколько способов создания перекрёстного соединения, и выбор оптимального метода зависит от версии Excel, вашего уровня комфорта при работе с формулами или инструментами, а также от объёма данных. Ниже — четыре практичных и эффективных подхода: от простых формул до продвинутых решений, таких как Power Query и VBA. Каждый из них имеет свои преимущества, так что вы сможете выбрать тот, что лучше всего соответствует вашему рабочему процессу, объёму данных и требованиям к автоматизации.

Метод 1: перекрёстное соединение с помощью формулы (Excel 365)

1.Подготовьте данные. Разместите первый список в одном столбце (например, A2:A5 для товаров), а второй — в другом столбце (например, C2:C5 для цветов).
подготовка данных

2.Введите следующую формулу в пустую ячейку, куда нужно вывести результат, и нажмите клавишу Enter. Формула автоматически заполнит диапазон и сразу вернёт все сгенерированные комбинации. См. снимок экрана:

=TEXTSPLIT(TEXTJOIN(",", TRUE, A2:A5 &, "|" &, TRANSPOSE(C2:C5)), "|", ",")
получение перекрестного соединения с помощью формулы

Объяснение этой формулы:

  • A2:A5 & «|» & ТРАНСП(C2:C5): Создаёт пары каждого значения из столбца A со всеми значениями из столбца C.
  • ТЕКСТОБЪЕД(",", ИСТИНА, …): Объединяет все пары в одну длинную текстовую строку с разделителями-запятыми.
  • ТЕКСТРАЗБ(…, «|», ","): Разделяет текст обратно на таблицу из двух столбцов.

Коротко говоря, формула создаёт пары вида A|C, объединяет их в одну текстовую строку, а затем разделяет обратно на структурированную таблицу из двух столбцов — тем самым формируя все возможные комбинации.

Советы:

Помимо уже приведённой формулы, вы можете воспользоваться следующей — она даст тот же результат.

=LET(a,A2:A5,b,C2:C5,
MAKEARRAY(ROWS(a)*ROWS(b),2,
 LAMBDA(r,c,
  IF(c=1, INDEX(a, 1+INT((r-1)/ROWS(b))), INDEX(b, 1+MOD(r-1, ROWS(b))))
 )
))

Преимущества

  • Полностью динамичный
  • Не требует вспомогательных столбцов
  • Автоматически обновляется при изменении исходных списков

Недостатки

  • Требуется Excel 365
  • Формула выглядит сложно для начинающих

✨ Список всех комбинаций — Создайте все возможные комбинации одним щелчком!

Устали писать сложные формулы, чтобы получить все возможные комбинации? С помощью Kutools для Excel вы можете мгновенно получить все комбинации из нескольких столбцов или значений — без формул, без Power Query, всего несколькими щелчками!

✅ Объединяйте цвета, размеры или параметры товаров за считанные секунды
✅ Поддержка нескольких столбцов и гибких форматов вывода
✅ Идеально подходит для каталогов товаров, планирования сценариев и тестирования
✅ Просто, быстро и 100 % без формул

создание всех комбинаций с помощью Kutools


Метод 2: перекрёстное соединение с помощью Power Query

Power Query предлагает простой и интуитивно понятный подход без написания кода, который поддерживается во всех современных версиях Excel. С его помощью вы легко создадите перекрёстное соединение всего несколькими щелчками — просто выбирайте нужные действия в интерфейсе, без необходимости писать формулы. Следуйте пошаговым инструкциям ниже.

Шаг 1: создайте таблицы для данных каждого столбца

1.Выделите первый список данных, нажмите Вставка > Таблица. В диалоговом окне Создание таблицы нажмите ОК. Вы получите первую таблицу.
создание таблицы для данных первого столбца

2.На вкладке Конструктор таблиц присвойте таблице понятное имя — так с ней будет проще работать в дальнейшем.
присвоение имени таблице

3. Повторите те же действия, чтобы преобразовать данные другого столбца в таблицу и задать ей имя.
создание таблицы для данных второго столбца и её переименование

Шаг 2: импортируйте таблицы и загрузите их как подключения

1.Выделите первую таблицу и нажмите Данные > Из таблицы/диапазона. См. снимок экрана:
нажмите «Данные» > «Из таблицы/диапазона»

2. В открывшемся окне Power Query Editor нажмите Закрыть и загрузить > Закрыть и загрузить на вкладке Главная.
нажмите команду «Закрыть и загрузить»

3. Появится диалоговое окно Импорт данных. Выберите параметр Только создать подключение и нажмите ОК.
выберите опцию «Только создать подключение»

4.На правой панели откроется область Запросы и подключения, в которой будет указано, что один запрос добавлен только как подключение.
панель «Запросы и подключения» для отображения первого подключения

5.Повторите те же действия, чтобы загрузить вторую таблицу как запрос только для подключения, и вы увидите её рядом с первой в области Запросы и подключения.
добавление второй таблицы в подключение

Шаг 3: создайте эталонный запрос и пользовательский столбец

1.Щёлкните правой кнопкой мыши запрос, который вы хотите использовать в качестве первой таблицы в перекрёстном соединении, и выберите Ссылка.
выберите «Ссылка»

2. В окне Power Query Editor перейдите на вкладку Добавить столбец и нажмите Пользовательский столбец, см. снимок экрана:
нажмите «Пользовательский столбец»

3. В диалоговом окне Пользовательский столбец в поле Формула пользовательского столбца введите имя другой таблицы, которую вы хотите использовать для перекрёстного соединения. Затем нажмите кнопку ОК.
введите формулу

Примечание:
Если имя запроса содержит пробелы (например, «Цвет товара»), его необходимо заключить в синтаксис #«Имя запроса» при вводе в поле формулы пользовательского столбца. Например, для «Цвет товара» следует ввести #«Цвет товара».

4. Появится новый пользовательский столбец — нажмите кнопку Развернуть, чтобы отобразить его содержимое.
нажмите кнопку «Развернуть», чтобы отобразить содержимое

5. В раскрывающейся панели убедитесь, что выбран нужный вам столбец, затем нажмите ОК.
убедитесь, что отмечено имя столбца, по которому выполняется соединение

6.Теперь вы увидите все комбинации, сгенерированные из двух таблиц.
все комбинации, сгенерированные из двух таблиц

Шаг 4: загрузите данные на лист

Перейдите на вкладку Главная, щёлкните Закрыть и загрузить > Закрыть и загрузить. Таблица со всеми комбинациями будет загружена на новый лист.
Таблица со всеми комбинациями будет загружена на новый лист→Таблица со всеми комбинациями будет загружена на новый лист

Преимущества

  • Работа с большими данными: превосходная производительность даже при обработке тысяч строк.
  • Многократное использование и обновление: добавьте новые данные в исходный диапазон — и после обновления запроса результаты автоматически обновятся.

Недостатки

  • Немного больше шагов
  • Требуются базовые знания Power Query

Метод 3: перекрёстное соединение с помощью Сводная таблица

Этот метод — косвенный, но может удивительно эффективно решить задачу генерации всех комбинаций без написания формул. Он особенно полезен для пользователей, которые предпочитают визуальный, кликабельный подход, а также для тех, кто работает в версиях Excel без поддержки динамических массивных формул.

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

2.Выделите таблицу, которую хотите использовать в качестве первого столбца. Затем перейдите на вкладку Вставка и нажмите Сводная таблица. См. снимок экрана:
нажмите, чтобы вставить сводную таблицу

3. В диалоговом окне Сводная таблица из таблицы или диапазона выберите Существующий лист, укажите расположение сводной таблицы, установите флажок Добавить эти данные в модель данных и нажмите ОК.
выберите расположение для сводной таблицы

4.Когда справа появится область Поля сводной таблицы, установите флажок напротив имени столбца из таблицы — и он автоматически добавится в область Строки.
отметьте имя столбца, чтобы добавить его в область строк

5.Затем перейдите на вкладку Все в области Поля сводной таблицы, выберите таблицу, которую хотите использовать как второй столбец для Crossjoin, и установите флажок рядом с её именем столбца, чтобы добавить его в область Строки. Вы получите сводную таблицу, как показано на снимке экрана ниже:
выберите другую таблицу для добавления

6. Щёлкните любую ячейку сводной таблицы, перейдите на вкладку Конструктор, выберите Макет отчёта > Показывать в табличной форме — и ваша сводная таблица примет табличный вид. См. снимок экрана:
выберите опцию «Отображать в табличной форме»

7. Затем нажмите Макет отчёта > Повторять все подписи элементов, чтобы отображать все элементы в каждой строке.
выберите «Повторять все метки элементов», чтобы отображать все элементы в каждой строке

8. Наконец, щёлкните Итоги > Откл. для строк и столбцов.
выберите «Выкл.» для строк и столбцов

Теперь сводная таблица демонстрирует чёткий список всех комбинаций — без итоговых строк и столбцов.
сводная таблица отображает чистый список всех комбинаций

Преимущества

  • Не требует формул или Power Query
  • Очень простой и наглядный
  • Подходит для быстрого анализа

Недостатки

  • Не динамичен
  • Требует ручных действий
  • Результат не связан с исходными данными

Метод 4: перекрёстное соединение с помощью пользовательской функции (Excel 365 / Excel 2021 и новее)

Если вам часто нужно генерировать все возможные комбинации из двух списков, пользовательская функция (UDF) станет чистым, многократно используемым и исключительно гибким решением. В Excel 365 или Excel 2021 динамический вывод автоматически заполняет результаты, делая их полностью интерактивными и обеспечивая мощный, удобный способ автоматизации операций перекрёстного соединения.

1. Нажмите Alt + F11, чтобы открыть редактор VBA.

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

Function CrossJoin(list1 As Range, list2 As Range)
    'Updateby Extendoffice
    Dim arr1, arr2, result()
    Dim i As Long, j As Long, r As Long
    arr1 = list1.Value
    arr2 = list2.Value
    ReDim result(1 To UBound(arr1, 1) * UBound(arr2, 1), 1 To 2)
    r = 1
    For i = 1 To UBound(arr1, 1)
        For j = 1 To UBound(arr2, 1)
            result(r, 1) = arr1(i, 1)
            result(r, 2) = arr2(j, 1)
            r = r + 1
        Next j
    Next i
    CrossJoin = result
End Function

3. Вернитесь на лист Excel, введите приведённую ниже формулу и нажмите клавишу Enter — Excel автоматически выведет все комбинации.

=CrossJoin(A2:A5, C2:C5)

получение перекрестного соединения с помощью кода VBA


Заключение

В заключение, выполнение перекрёстного соединения в Excel предлагает множество гибких и эффективных решений, позволяя выбрать наиболее подходящий метод в зависимости от ваших конкретных задач и рабочей среды:

  • Формула использует динамические массивные формулы в Excel 365, чтобы мгновенно получать результаты без программирования — идеальное решение для тех, кто предпочитает стандартные формулы.
  • Power Query предлагает простой и многократно используемый процесс для обработки больших наборов данных, что делает его идеальным решением для очистки данных и автоматизированной отчётности.
  • Метод Сводная таблица может показаться менее прямолинейным, но на деле оказывается чрезвычайно эффективным и интуитивно понятным для знакомой аудитории.
  • Пользовательская функция VBA обеспечивает максимальную гибкость настройки и идеально подходит для сценариев, требующих интеграции в сложный макрокод.

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек