Как объединить две таблицы в excel в одну с разными данными

Объединение двух или нескольких таблиц

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Можно объединять строки из одной таблицы в другую, просто вставляя данные в первую пустую ячейку под целевой таблицей. Размер таблицы увеличится, и в нее будут добавлены новые строки. Если строки в обеих таблицах совпадают, можно объединить столбцы одной таблицы с другой, вставив их в первую пустую ячейку справа от таблицы. В этом случае таблица увеличится в соответствии с новыми столбцами.

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

Объединение двух таблиц с помощью функции ВПР

В приведенном ниже примере вы увидите две таблицы с именами, которые ранее использовались для новых имен: «синий» и «оранжевый». В таблице синей каждая строка является элементом строки для заказа. Таким образом, номер заказа 20050 состоит из двух элементов, код заказа 20051 — один товар, код заказа 20052 состоит из трех элементов и т. д. Мы хотим объединить столбцы «код продажи» и «регион» с таблицей «Синяя», исходя из совпадающих значений в столбцах «код заказа» в таблице «оранжевый».

Значения идентификатора заказа повторяются в таблице Blue, но значения ИДЕНТИФИКАТОРов Order в таблице оранжевый являются уникальными. Если бы пришлось просто копировать и вставлять данные из оранжевой таблицы, то значения ИДЕНТИФИКАТОРов продаж и областей для второй позиции строки 20050 будут отключены на одну строку, что приведет к изменению значений в новых столбцах в таблице Blue.

Ниже приведены данные для синей таблицы, которые можно скопировать в пустой лист. После того как вы вставьте его на лист, нажмите клавиши CTRL + T, чтобы преобразовать его в таблицу, а затем переименуйте таблицу Excel синим цветом.

Как объединить две таблицы в excel в одну с разными данными

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

Инструкция

Устанавливаем себе надстройку ЁXCEL . Читаем справку.

Приступаем к решению. Переходим во вкладку ЁXCEL главного меню, нажимаем кнопку «Таблицы», в выпавшем списке выбираем команду «Объединить таблицы»:

В открывшемся диалоговом окне выделяем листы с таблицами, которые необходимо объединить и нажимаем «ОК»:

Программа сформирует запрос — объединит таблицы и выведет информационное сообщение:

Переходим на итоговый лист (тот где хотим вывести общую таблицу), устанавливаем курсор в ячейку «A1«. Переходим в главном меню во вкладку «Данные» в разделе «Получение внешних данных» нажимаем кнопку «Существующие подключения»:

В открывшемся диалоговом окне выбираем «Подключения в этой книге» — «Запрос из Excel Files» и нажимаем «Открыть»:

В открывшемся диалоговом окне устанавливаем переключатели в положения «Таблица» и «Имеющийся лист», нажимаем «ОК»:

В активном листе будет создана таблица, которая будет объединять таблицы, расположенные на указанных нами листах:

Теперь все таблицы связаны. Добавьте новые строчки в любую из объединенных таблиц. Перейдите во вкладку «Данные» и нажмите кнопку «Обновить все»:

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

Чтобы обновление итоговой таблицы происходило автоматически вставьте в модуль каждого листа (кроме Итогового) следующий код (Как вставлять макросы?):

Видео-пример

Важно:

  • Количество столбцов во всех таблицах должно быть одинаково;
  • Кроме таблиц на листах не должно быть никакой информации;
  • Если вы переместили файл в другую папку или отправили файл коллеге по электронной почте — необходимо заново связать таблицы (в запросе прописывается абсолютный путь к файлу).

Чтобы запрос работал не зависимо от того в какой папке лежит файл вставьте в модуль «ЭтаКнига» следующий код:

Данный макрос при открытии книги будет определять текущий путь к файлу и менять путь к файлу в запросе.

Чтобы оценить всю прелесть — выньте файл из архива и при загрузке файла включите макросы.

Возможные ошибки при использовании этого метода:

  • В таблицах одинаковое количество столбцов, но при попытке использовать запрос получаем сообщение: «В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов.» Причина: в одном или нескольких листах с таблицами есть пустые столбцы (в них раньше были данные) и MS Excel считает их столбцами таблиц. Решение: Выделить и удалить все пустые столбцы на листах с таблицами.
  • Все столбцы удалили, но ошибка осталась. Причина: файл сохранен на сетевом диске или открыт из почтовой программы. Решение: сохраните файл у себя на локальном компьютере, выполните запрос, вставьте в него макрос меняющий путь в запросе и выложите обратно в сеть (если нужно).
  • В полученном запросе в некоторых ячейках пропадают данные. Причина: в ваших таблицах встречаются столбцы, которые одновременно содержатся и числовые и текстовые значения. MS Excel считает, что эти столбцы должны содержать только числа и не выводит текст. Решение:преобразуйте все числовые значения в этих столбцах во всех таблицах в текстовые. Обновите запрос — текстовые данные появятся.
Читать еще:  Как построить диаграмму в excel по данным таблицы

Комментарии

Еще, вопрос. Хочу сливать сразу много однотипных таблиц. Но не все данные а только первые 15 столбцов.
Начиная с 16-й колонки у меня расчетные данные, которые не нужно сливать.

Как объединить две таблицы Excel по частичному совпадению ячеек

Из этой статьи Вы узнаете, как быстро объединить данные из двух таблиц Excel, когда в ключевых столбцах нет точных совпадений. Например, когда уникальный идентификатор из первой таблицы представляет собой первые пять символов идентификатора из второй таблицы. Все предлагаемые в этой статье решения протестированы мной в Excel 2013, 2010 и 2007.

Итак, есть два листа Excel, которые нужно объединить для дальнейшего анализа данных. Предположим, в одной таблице содержатся цены (столбец Price) и описания товаров (столбец Beer), которые Вы продаёте, а во второй отражены данные о наличии товаров на складе (столбец In stock). Если Вы или Ваши коллеги составляли обе таблицы по каталогу, то в обеих должен присутствовать как минимум один ключевой столбец с уникальными идентификаторами товаров. Описание товара или цена могут изменяться, но уникальный идентификатор всегда остаётся неизменным.

Трудности начинаются, когда Вы получаете некоторые таблицы от производителя или из других отделов компании. Дело может ещё усложниться, если вдруг вводится новый формат уникальных идентификаторов или самую малость изменятся складские номенклатурные обозначения (SKU). И перед Вами стоит задача объединить в Excel новую и старую таблицы с данными. Так или иначе, возникает ситуация, когда в ключевых столбцах имеет место только частичное совпадение записей, например, “12345” и “12345-новый_суффикс“. Вам-то понятно, что это тот же SKU, но компьютер не так догадлив! Это не точное совпадение делает невозможным использование обычных формул Excel для объединения данных из двух таблиц.

И что совсем плохо – соответствия могут быть вовсе нечёткими, и “Некоторая компания” в одной таблице может превратиться в “ЗАО «Некоторая Компания»” в другой таблице, а “Новая Компания (бывшая Некоторая Компания)” и “Старая Компания” тоже окажутся записью об одной и той же фирме. Это известно Вам, но как это объяснить Excel?

Выход есть всегда, читайте далее и Вы узнаете решение!

Замечание: Решения, описанные в этой статье, универсальны. Вы можете адаптировать их для дальнейшего использования с любыми стандартными формулами, такими как ВПР (VLOOKUP), ПОИСКПОЗ (MATCH), ГПР (HLOOKUP) и так далее.

Выберите подходящий пример, чтобы сразу перейти к нужному решению:

Ключевой столбец в одной из таблиц содержит дополнительные символы

Рассмотрим две таблицы. Столбцы первой таблицы содержат номенклатурный номер (SKU), наименование пива (Beer) и его цену (Price). Во второй таблице записан SKU и количество бутылок на складе (In stock). Вместо пива может быть любой товар, а количество столбцов в реальной жизни может быть гораздо больше.

В таблице с дополнительными символами создаём вспомогательный столбец. Можно добавить его в конец таблицы, но лучше всего вставить его следующим справа после ключевого столбца, чтобы он был на виду.

Ключевым в таблице в нашем примере является столбец A с данными SKU, и нужно извлечь из него первые 5 символов. Добавим вспомогательный столбец и назовём его SKU helper:

  • Наводим указатель мыши на заголовок столбца B, при этом он должен принять вид стрелки, направленной вниз:
  • Кликаем по заголовку правой кнопкой мыши и в контекстном меню выбираем Вставить (Insert):
  • Даём столбцу имя SKU helper.
  • Чтобы извлечь первые 5 символов из столбца SKU, в ячейку B2 вводим такую формулу:

Здесь A2 – это адрес ячейки, из которой мы будем извлекать символы, а 5 – количество символов, которое будет извлечено.

  • Копируем эту формулу во все ячейки нового столбца.
  • Готово! Теперь у нас есть ключевые столбцы с точным совпадением значений – столбец SKU helper в основной таблице и столбец SKU в таблице, где будет выполняться поиск.

    Теперь при помощи функции ВПР (VLOOKUP) мы получим нужный результат:

    Другие формулы

    • Извлечь первые Х символов справа: например, 6 символов справа из записи “DSFH-164900”. Формула будет выглядеть так:

    =ПРАВСИМВ(A2;6)
    =RIGHT(A2,6)
    Пропустить первые Х символов, извлечь следующие Y символов: например, нужно извлечь “0123” из записи “PREFIX_0123_SUFF”. Здесь нам нужно пропустить первые 8 символов и извлечь следующие 4 символа. Формула будет выглядеть так:

    =ПСТР(A2;8;4)
    =MID(A2,8,4)
    Извлечь все символы до разделителя, длина получившейся последовательности может быть разной. Например, нужно извлечь “123456” и “0123” из записей “123456-суффикс” и “0123-суффикс” соответственно. Формула будет выглядеть так:

    Одним словом, Вы можете использовать такие функции Excel, как ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT), ПСТР (MID), НАЙТИ (FIND), чтобы извлекать любые части составного индекса. Если с этим возникли трудности – свяжитесь с нами, мы сделаем всё возможное, чтобы помочь Вам.

    Данные из ключевого столбца в первой таблице разбиты на два или более столбца во второй таблице

    Предположим, таблица, в которой производится поиск, содержит столбец с идентификаторами. В ячейках этого столбца содержатся записи вида XXXX-YYYY, где XXXX – это кодовое обозначение группы товаров (мобильные телефоны, телевизоры, видеокамеры, фотокамеры), а YYYY – это код товара внутри группы. Главная таблица состоит из двух столбцов: в одном содержатся коды товарных групп (Group), во втором записаны коды товаров (ID). Мы не можем просто отбросить коды групп товаров, так как один и тот же код товара может повторяться в разных группах.

    Добавляем в главной таблице вспомогательный столбец и называем его Full ID (столбец C), подробнее о том, как это делается рассказано ранее в этой статье.

    В ячейке C2 запишем такую формулу:

    Здесь A2 – это адрес ячейки, содержащей код группы; символ “” – это разделитель; B2 – это адрес ячейки, содержащей код товара. Скопируем формулу в остальные строки.

    Теперь объединить данные из наших двух таблиц не составит труда. Мы будем сопоставлять столбец Full ID первой таблицы со столбцом ID второй таблицы. При обнаружении совпадения, записи из столбцов Description и Price второй таблицы будут добавлены в первую таблицу.

    Данные в ключевых столбцах не совпадают

    Вот пример: Вы владелец небольшого магазина, получаете товар от одного или нескольких поставщиков. У каждого из них принята собственная номенклатура, отличающаяся от Вашей. В результате возникают ситуации, когда Ваша запись “Case-Ip4S-01” соответствует записи “SPK-A1403” в файле Excel, полученном от поставщика. Такие расхождения возникают случайным образом и нет никакого общего правила, чтобы автоматически преобразовать “SPK-A1403” в “Case-Ip4S-01”.

    Плохая новость: Данные, содержащиеся в этих двух таблицах Excel, придётся обрабатывать вручную, чтобы в дальнейшем было возможно объединить их.

    Хорошая новость: Это придётся сделать только один раз, и получившуюся вспомогательную таблицу можно будет сохранить для дальнейшего использования. Далее Вы сможете объединять эти таблицы автоматически и сэкономить таким образом массу времени

    1. Создаём вспомогательную таблицу для поиска.

    Создаём новый лист Excel и называем его SKU converter. Копируем весь столбец Our.SKU из листа Store на новый лист, удаляем дубликаты и оставляем в нём только уникальные значения.

    Рядом добавляем столбец Supp.SKU и вручную ищем соответствия между значениями столбцов Our.SKU и Supp.SKU (в этом нам помогут описания из столбца Description). Это скучная работёнка, пусть Вас радует мысль о том, что её придётся выполнить только один раз :-).

    В результате мы имеем вот такую таблицу:

    2. Обновляем главную таблицу при помощи данных из таблицы для поиска.

    В главную таблицу (лист Store) вставляем новый столбец Supp.SKU.

    Далее при помощи функции ВПР (VLOOKUP) сравниваем листы Store и SKU converter, используя для поиска соответствий столбец Our.SKU, а для обновлённых данных – столбец Supp.SKU.

    Столбец Supp.SKU заполняется оригинальными кодами производителя.

    Замечание: Если в столбце Supp.SKU появились пустые ячейки, то необходимо взять все коды SKU, соответствующие этим пустым ячейкам, добавить их в таблицу SKU converter и найти соответствующий код из таблицы поставщика. После этого повторяем шаг 2.

    3. Переносим данные из таблицы поиска в главную таблицу

    В нашей главной таблице есть ключевой столбец с точным совпадением с элементами таблицы поиска, так что теперь эта задача не вызовет сложностей

    При помощи функции ВПР (VLOOKUP) объединяем данные листа Store с данными листа Wholesale Supplier 1, используя для поиска соответствий столбец Supp.SKU.

    Вот пример обновлённых данных в столбце Wholesale Price:

    Всё просто, не так ли? Задавайте свои вопросы в комментариях к статье, я постараюсь ответить, как можно скорее.

    Как легко объединить разные таблицы Excel в один файл

    Объединить файлы Excel в один файл — одна из самых распространенных задач. Стандартными способами выполнить её не просто, для этого может потребоваться значительное время (в зависимости от количества объединяемых файлов).

    Kutools для Excel решает задачу объединения файлов очень просто, причем в результате мы имеем не только сводный файл с данными, но и 2 отчета: отчет о выполнении со статусом, и перечень объединенных листов (первая вкладка итоговой таблицы) с гиперссылками для удобства навигации.

    Объединяемые таблицы могут содержать пустые листы, которые нам объединять не имеет смысла, kutools может их не брать в обработку.

    Посмотрите предлагаемый видео ролик, где на примере слияния нескольких прайсов мы получаем сводный файл, удаляются пустые листы, присваиваются имена листам по имени родительских файлов и т.д.

    Инструменты kutools позволяют объединять любое количество файлов быстро и легко в разных вариациях:

    Объединить несколько листов из разных книг в один лист

    Объединить все одноименные листы в один

    Консолидация и вычисление значений из нескольких книг в одну таблицу

    Имена созданных листов в новых таблицах именуются автоматически по имени родительского файла.

    Kutools позволяет сохранять сценарии объединения для дальнейшего использования.

    Быстрое объединение больших таблиц (VLOOKUP2D, ВПР2D)

    Если вы знакомы с функцией VLOOKUP (ВПР) или ее горизонтальным аналогом HLOOKUP (ГПР) , то должны помнить, что эти замечательные функции ищут информацию только по одному параметру, то есть в одномерном массиве — по строке или по столбцу. А если нам необходимо выбирать данные из двумерной таблицы по стечению сразу двух параметров — и по строке и по столбцу одновременно? Давайте рассмотрим несколько вариантов объединения таблиц.

    Вариант 1. Соединение двух таблиц (используем функции INDEX и MATCH)

    Предположим, что нам нужно соединить две таблицы, которые отражают кредитный портфель и портфель обеспечения:

    Мы можем начать использовать функцию VLOOKUP , чтобы соединить каждый отдельный столбец, однако если у нас таблицы имеют чрезвычайно много строк и столбцов, то это занятие может превратиться в настоящую муку. Однако из этой ситуации есть достаточно простой выход, поскольку Excel имеет следующие две замечательные функции, как INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ) из категории Ссылки и массивы (Lookup and Reference) , что в паре работают как 2D VLOOKUP.

    Хорошо, что нам необходимо сделать, чтобы быстро соединить две таблицы? Давайте для начала скопируем шапку второй таблицы (ту, что мы будем присоединять) и вставим ее рядом с шапкой первой таблице. По названию шапки функция MATCH (ПОИСКПОЗ) будет выдавать нам порядковый номер колонки, а по номеру сделки — необходим нам порядковый номер строки.

    Фактически, мы хотим найти значение ячейки с пересечения определенной строки и столбца в таблице. Для наглядности, разобьем задачу на три этапа.

    • Во-первых, нам нужно определить номер строки, соответствующей выбранной кредитной сделке. Это поможет сделать функция MATCH (ПОИСКПОЗ) из категории Ссылки и массивы (Lookup and Reference ) . В частности, формула MATCH (A14;K2:K18;0) даст нам нужен результат (для соглашения «№ 5398» это будет порядкоий номер 13). Первый аргумент этой функции — искомое значение (соглашение «№ 5398» из ячейки А14 ), второй — диапазон ячеек, где мы ищем соглашение (столбец с номерами сделок в таблице — К2:К18 ), третий аргумент задает тип поиска ( — точное совпадение наименования, приблизительный поиск запрещен).
    • Во-вторых, совершенно аналогичным образом мы должны определить порядковый номер столбца в таблице с нужным нам содержанием. Функция MATCH (F1;J1:M1;0) сделает это и выдаст, например, для Collateralname, выбранного пользователем в ячейке F1 значение 3.
    • И, наконец, в-третьих, нам нужна функция, которая умеет выдавать содержимое ячейки из таблицы по номеру строки и столбца — функция INDEX (ИНДЕКС) из той же категории Ссылки и массивы (Lookup and Reference) . Первый аргумент этой функции — диапазон ячеек (в нашем случае это вся таблица, т.е. J2:M18), второй — номер строки, третий — номер столбца (а их мы определим с помощью функций MATCH).

    Итак, сочетая все вышеперечисленное в одну формулу, получаем для ячейки F14 следующую формулу:

    =INDEX( J2:M18 ;MATCH( A14 ; K2:K18 ;0);MATCH( F1 ; J1:M1 ;0))

    або =ИНДЕКС(J2:M18;ПОИСКПОЗ(A14;K2:K18;0);ПОИСКПОЗ(F1;J1:M1;0))

    Таким образом, растягивая нашу формулу на весь диапазон, мы правильно присоединим дополнительные поля. Также нужно обратить внимание, что при растягивании формулы, нам нужно зафиксировать диапазоны знаком доллара ($) (для фиксирования можно также использовать клавишу F4 ), для поиска по шапке фиксируем только строку ( F$1 ), для поиска по номерам сделок — только колонку ( $A14 ).

    Вариант 2. Соединение двух таблиц (используем функцию VLOOKUP)

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

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

    Итак, формула для нашего второго варианта будет следующей:

    =VLOOKUP( $A3 ; $J$3:$M$19 ; E$1 ;0)

    Опять же, не забываем фиксировать диапазон и соответствующие поисковые поля знаком $, для того чтобы формула корректно работала и не выдавала ошибку при смещении диапазонов.

    Похожие статьи

    Ссылка на основную публикацию
    Похожие публикации
    ×
    ×
    Adblock
    detector