как соединить 2 таблицы в эксель

Чтобы соединить две таблицы в Excel, есть несколько различных методов, в зависимости от того, что именно вы хотите получить и какие данные соединяете. Я объясню несколько основных способов:

1. Использование функции VLOOKUP (ПОИСКПОЗ)

Функция VLOOKUP (или ПОИСКПОЗ на русском) позволяет искать значение в одной таблице и возвращать связанное значение из другой таблицы. Это полезно, если у вас есть общие столбцы в двух таблицах, по которым нужно связать данные.

Пример:

Предположим, у вас есть две таблицы:

Таблица 1 (Товары):

Код товараНаименование товара
101Товар A
102Товар B
103Товар C

Таблица 2 (Цены):

Код товараЦена
101500 руб
102700 руб
103600 руб

Чтобы объединить эти таблицы, например, добавить цену из второй таблицы в первую по коду товара:

  1. В Таблице 1 создайте новый столбец, например, «Цена».

  2. Введите формулу VLOOKUP в ячейку нового столбца, например, в ячейку C2:

    excel
    =VLOOKUP(A2, 'Цены'!$A$2:$B$4, 2, FALSE)
    • A2 — значение, по которому ищем (код товара).

    • 'Цены'!$A$2:$B$4 — диапазон, в котором ищем (код товара и цена во второй таблице).

    • 2 — это номер столбца в диапазоне, из которого нужно вернуть значение (цена в столбце 2).

    • FALSE — точное совпадение.

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

В результате Таблица 1 будет выглядеть так:

Код товараНаименование товараЦена
101Товар A500 руб
102Товар B700 руб
103Товар C600 руб

Важные моменты:

  • Если кода товара нет в таблице 2, функция вернет ошибку #N/A.

  • Если вы хотите, чтобы в случае ошибки выводилось, например, «Не найдено», используйте формулу с IFERROR:

    excel
    =IFERROR(VLOOKUP(A2, 'Цены'!$A$2:$B$4, 2, FALSE), "Не найдено")

2. Использование Power Query

Power Query — это инструмент для импорта, преобразования и объединения данных в Excel. Он позволяет легко соединить таблицы, а также выполнить более сложные операции объединения, такие как объединение по нескольким столбцам или добавление строк.

Пример:

  1. Поместите обе таблицы в Excel.

  2. Перейдите на вкладку Данные и выберите Из таблицы/диапазона (в зависимости от версии Excel).

  3. В Power Query откроется окно с данными. Нажмите Закрыть и загрузить (Close & Load), чтобы загрузить таблицы в Power Query.

  4. После этого в Power Query выберите вкладку Главная -> Объединить запросы.

  5. Выберите обе таблицы и столбцы, по которым будет происходить соединение (например, по «Коду товара»).

  6. Выберите тип соединения (например, Left Join, чтобы добавить информацию из второй таблицы в первую).

  7. Нажмите Ок, и Power Query автоматически выполнит соединение.

  8. Нажмите Закрыть и загрузить снова, чтобы результат появился в новой таблице Excel.


3. Использование функции INDEX/MATCH (ИНДЕКС/ПОИСК)

Если вы хотите больше гибкости, можете использовать комбинацию функций INDEX и MATCH (или ИНДЕКС и ПОИСК на русском). Эти функции часто применяются для более сложных случаев, когда VLOOKUP может быть ограничен (например, при необходимости поиска значений справа налево).

Пример:

Допустим, у вас есть те же данные, как и в предыдущем примере, и вы хотите использовать INDEX/MATCH для получения цен.

  1. В ячейке C2 в Таблице 1 введите следующую формулу:

    excel
    =INDEX('Цены'!$B$2:$B$4, MATCH(A2, 'Цены'!$A$2:$A$4, 0))
    • INDEX('Цены'!$B$2:$B$4, ...) — возвращает значение из столбца с ценами (B) на основе найденной строки.

    • MATCH(A2, 'Цены'!$A$2:$A$4, 0) — ищет код товара (A2) в таблице 2 (столбец A) и возвращает позицию, которая передается в функцию INDEX.

  2. Копируйте формулу вниз по столбцу.

Результат будет таким же, как и при использовании VLOOKUP.

Почему INDEX/MATCH лучше, чем VLOOKUP?

  • INDEX/MATCH не требует, чтобы столбец с искомым значением был первым в таблице.

  • Вы можете использовать поиск как в любом направлении (слева направо и наоборот).


4. Использование функции CONCATE (ТЕКСТ.СЦЕПИТЬ)

Если ваши данные в двух таблицах нужно соединить не по значениям, а по строкам (например, вам нужно объединить текстовые данные из двух столбцов), используйте функцию TEXTJOIN или CONCATENATE (в старых версиях Excel).

Пример:

  1. Если вам нужно объединить два столбца (например, имена и фамилии):

    excel
    =TEXTJOIN(" ", TRUE, A2, B2)

    Это объединит данные в ячейках A2 и B2 с пробелом между ними.


5. Использование оператора & (амперсанд)

Если вам нужно просто объединить данные из двух столбцов в одну ячейку, можно использовать оператор амперсанда (&).

Пример:

Для объединения значений из ячеек A2 и B2:

excel
=A2 & " " & B2

Это соединит значения с пробелом между ними.


6. Использование соединения с помощью VBA (макросов)

Если вам нужно автоматизировать процесс соединения таблиц для повторяющихся задач, можно использовать макросы на VBA, которые позволят соединить таблицы по заданным условиям.


Заключение

Какой метод выбрать, зависит от вашей задачи:

  • Для простых соединений по одному столбцу удобнее использовать VLOOKUP или INDEX/MATCH.

  • Для более сложных операций, например, соединения по нескольким столбцам или объединения данных из разных источников, лучше использовать Power Query.

  • Для текстовых соединений или объединения данных в строки можно использовать TEXTJOIN или амперсанд.

Если будут дополнительные вопросы по конкретному методу, не стесняйтесь спрашивать!

Scroll to Top

Карта сайта