Skip to content
В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах.
Как часто при анализе в Excel вся необходимая информация собирается на одном листе? Сейчас это довольно редкое явление. Чаще всего разные фрагменты данных рассредоточены по множеству листов и книг. К счастью, есть несколько способов объединить информацию из нескольких таблиц в одну, и это руководство научит вас делать это быстро и эффективно.
Объединение нескольких таблиц — одна из самых сложных задач в Excel. Если вы решите сделать это вручную, вы можете потратить часы только на то, чтобы обнаружить, что испортили важную информацию. Если вы опытный специалист в области Excel, то можете положиться на формулы ВПР и ИНДЕКС ПОИСКПОЗ. Вы также можете использовать Power Query или дополнительные надстройки к Excel. Выбор остается за вами.
- Суммирование данных
- Использование ВПР
- Применение ИНДЕКС + ПОИСКПОЗ
- Формула объединения для нескольких ключевых столбцов
- Объединение таблиц при помощи Power Query
- Быстрый способ объединить таблицы путем сопоставления ключевых столбцов.
Как объединить две таблицы в Excel с помощью формул.
Если вам нужно выполнить какую-то задачу в Excel, то где вы в первую очередь ищете решение? Как и многие пользователи, я обычно открываю список функций. Слияние таблиц не исключение 
Суммирование.
Начнем с самого простого примера, когда нужно объединить данные нескольких таблиц путем их суммирования. Предположим, у нас есть сведения о продажах за 4 квартала. Нужно найти их итоговую сумму.
Сразу оговоримся, что этот метод подходит в основном для форм отчетности, когда таблицы имеют одинаковую структуру, и цифры в них расположены в совершенно одинаковом порядке.
Поэтому сложение значений соответствующих ячеек на каждом листе здесь подходит отлично.
Для создания отчета о годовых продажах можно использовать самую простую формулу сложения.
=’1кв’!C3+’2кв’!C3+’3кв’!C3+’4кв’!C3
Более технологичным вариантом является так называемая 3D сумма —
=СУММ(‘1кв:4кв’!C3)
Мы указываем первый и последний лист, а также координаты ячейки. Все промежуточные координаты Эксель находит сам. Если между первым и последним листом добавить еще несколько листов с аналогичными показателями, то они также будут просуммированы.
Конечно, это не в полном смысле объединение таблиц, так как набор показателей не меняется, новые строки и колонки не добавляются. Но при этом объединяются имеющиеся данные. Далее рассмотрим более сложные случаи — когда нужно объединить неодинаковые таблицы.
Используем ВПР.
Если вы хотите объединить две таблицы на основе одного столбца , то функция ВПР – то, что нужно.
Предположим, у вас есть две таблицы на двух разных листах: основная содержит коды заказов и покупателей (то есть, кому вы продаёте), а во второй записаны заказы и товары (то есть, что вы продаёте). Вы хотите объединить их, сопоставив данные в колонке Код заказа:
То есть, в случае совпадения заказов информация о товаре будет добавлена в первую таблицу в соответствующую строку.
Как видите, порядок следования заказов в основной таблице не соответствует второй. Поэтому простой метод копирования / вставки не сработает.
Чтобы нам было проще ориентироваться, используем именованные диапазоны. Первый назовём «Заказ», второй – «Товар».
Чтобы объединить две таблицы по соответствующему показателю (Код заказа), в начале добавляем дополнительные колонки E, F и G, которые будем заполнять нужной информацией.
Начнём с товара. Введите эту формулу в ячейку Е2, как показано на скриншоте ниже:
=ВПР(A2;товар;2;0)
или с обычными ссылками —
=ВПР(A2;Товар!$A$2:$D$200;2;0)
Далее в G2 запишем —
=ВПР(B2;товар;3;0)
В H2 аналогично —
=ВПР(B2;товар;4;0)
Копируем эти формулы вниз и получаем результат объединения:
Объединенная таблица состоит из основной и добавленных данных, извлеченных из массива поиска.
Имейте в виду, что ВПР в Excel имеет несколько ограничений, наиболее важными из которых являются:
1) невозможность извлечения данных, находящихся слева от столбца поиска,
2) жестко заданный номер столбца сломает формулу при добавлении или удалении колонок во второй таблице. С другой стороны, в случае подобных изменений вы можете легко изменить порядок возвращаемых колонок, просто изменив число в третьем аргументе функции.
Рассмотрим более сложный случай, когда сведения были получены нами из разных источников, и ключевой показатель (код заказа) у них не полностью совпадает. К примеру, к нему добавлены какие-то символы.
В случае использования функции ВПР, у нас нет другого выхода кроме создания вспомогательного столбца. В нём мы постараемся привести наш код заказа к стандартному виду с помощью различных функций работы с текстом.
Итак, вставим в нашу таблицу заказов вспомогательный столбец B. Для этого кликнем правой кнопкой мыши по заголовку колонки B и в появившемся контекстном меню выберем «Вставить». Получим пустую колонку, а все остальные сдвинутся вправо.
Здесь мы и «очистим» наши номера заказов от лишнего мусора. В нашем случае вполне подойдёт формула:
=ЛЕВСИМВ(A2;4)
A2 — это адрес ячейки, из которой мы извлекаем первые 4 символа.
Если, например, мы имеем “Б-1007”, то используйте формулу
=ПРАВСИМВ(A2;4)
Но ведь наши идентификаторы могут выглядеть и по-другому.
Скажем, нужно пропустить первые Х символов, извлечь следующие Y символов: например, нужно извлечь “0123” из записи “СББЛ-1007-ШКЛ”. Здесь нам нужно пропустить первые пять символов и извлечь следующие четыре. Формула будет выглядеть так:
=ПСТР(A2;5;4)
Если нужно извлечь все знаки до разделителя, причем количество их может быть разным (“1007-СРР 256” или “10071007-Б111НРР”), то действуем так —
=ЛЕВСИМВ(A2;НАЙТИ(«-«;A2)-1)
Получаем соответственно 1007 и 10071007.
Если нужно получить последнее слово после разделителя “Б-С-100777”, причем когда количество символов в нем может быть разным —
=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(«*»;ПОДСТАВИТЬ(A2;»-«;»*»;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;»-«;»»)))))
Получим 100777.
Словом, текстовые функции помогут нам заполнить вспомогательный столбец.
А затем мы применяем те же формулы, что и ранее, только меняем ссылку на ячейку поиска:
=ВПР(B2;товар;2;0)
или
=ВПР(B2;Товар!$A$2:$D$200;2;0)
Как видите, при помощи дополнительной колонки мы решили проблему несовпадения ключевых кодов и успешно объединили данные.
Комбинация ИНДЕКС + ПОИСКПОЗ.
Если вы ищете более мощную и универсальную альтернативу функции ВПР, воспользуйтесь комбинацией функций ИНДЕКС и ПОИСКПОЗ.
ИНДЕКС( диапазон_возврата ; ПОИСКПОЗ ( значение_подстановки ; диапазон_просмотра ; 0))
Если вернуться к предыдущему примеру с функцией ВПР, то формулу
ВПР(A2;Товар!$A$2:$D$200;2;0) в ячейке Е2 можно заменить на
=ИНДЕКС(‘Товар’!$B$2:$B$200;ПОИСКПОЗ(A2;’Товар’!$A$2:$A$200;0))
Казалось бы, ничего особенного, только сложнее стало. Однако, здесь открывается гораздо больше возможностей. Если будет необходимо, мы сможем провести поиск в колонке B и вернуть соответствующее значение из А. То есть, порядок расположения столбцов в этом случае не важен. ВПР нам не позволить сделать такое.
Вот, например, если во второй таблице показатели будут расположены как на скриншоте внизу, то функция ВПР нам здесь не поможет.
Выражение в ячейке C2 выглядит так:
=ИНДЕКС(‘Товар’!$A$2:$A$20;ПОИСКПОЗ(A2;’Товар’!$B$2:$B$20;0))
Это так называемый «левый ВПР», который не зависит от взаимного расположения столбцов.
Обратите внимание на знак $, который фиксирует диапазоны, чтобы предотвратить их изменение при копировании формулы.
В случае нечёткого совпадения кодов заказов, который мы рассматривали выше, комбинация ИНДЕКС + ПОИСКПОЗ позволяет обойтись без вспомогательной колонки.
Нам поможет формула массива
{=ИНДЕКС(Товар!$B$2:$B$200;ПОИСКПОЗ(1;ПОИСК(ЛЕВСИМВ(A2;4);Товар!$A$2:$A$200;1);0))}
Как видите, мы берём первые 4 символа из номера заказа и ищем совпадения в товарах.
Естественно, вместо ЛЕВСИМВ мы можем использовать другие варианты текстовых функций. Мы о них подробно говорили выше, когда рассматривали возможное содержание вспомогательного столбца. При помощи формулы массива мы как бы вставляем его целиком прямо в формулу поиска.
Как объединить на основе нескольких столбцов.
Если две таблицы, которые вы хотите объединить, не имеют уникального идентификатора, такого как номер заказа, вы можете сопоставить значения в двух или более колонках как в ключевых, используя эту формулу:
ИНДЕКС( таблица_поиска ; ПОИСКПОЗ(1; ( искомое_значение1 = диапазон_поиска1 ) * ( искомое_значение2 = диапазон_поиска2 ); 0); номер_возвращаемого_столбца )
Это формула массива, поэтому не забудьте нажать Ctrl + Shift + Enter для правильного её ввода.
Предположим, у вас есть две таблицы, которые нужно объединить в одну. Поскольку показатель «Заказ» в массиве поиска отсутствует, единственный способ сопоставить их — по Покупателю и Товару:
Основываясь на приведенном выше скриншоте, давайте определим аргументы для нашей формулы:
- диапазон поиска — $F$3:$H$10
- искомое_значение1 — $B3
- диапазон_поиска1 — $F$3:$F$10
- искомое_значение2 — $C3
- диапазон_поиска2 — $G$3:$G$10
- номер_возвращаемого_столбца — 3
Обязательно добавьте абсолютные ссылки на ячейки, чтобы они не изменились при копировании формулы вниз:
=ИНДЕКС($F$3:$H$10; ПОИСКПОЗ(1; ($B3=$F$3:$F$10) * ($C3=$G$3:$G$10); 0); 3)
Введите формулу в D3, нажмите Ctrl + Shift + Enter. Cкопируйте её вниз и проверьте результат:
Таким образом, мы объединили значения в таблицах, если имеется совпадение сразу в двух колонках. Думаю, вы понимаете логику этой формулы и сможете при необходимости добавить условие совпадения еще в одном столбце.
Объединяем с помощью Excel Power Query
В ситуациях, когда вам нужно объединить две или более таблиц с разным количеством строк и колнок, Excel Power Query может пригодиться. Однако имейте в виду, что объединение с помощью Power Query нельзя выполнить всего за пару щелчков мышью. Вот только самые основные особенности:
- Power Query может объединить две таблицы, сопоставив один или несколько столбцов.
- Исходные сведения могут находиться на одном листе или на разных листах.
- Исходные данные не будут изменены. Они копируются в новую таблицу, которую можно импортировать в существующий или новый рабочий лист.
- В Excel 2016 и Excel 2019 Power Query — это встроенная функция. В Excel 2010 и Excel 2013 его можно загрузить как надстройку.
Проще говоря, Power Query (также известный как Get & Transform в Excel 2016 и Excel 2019) — это инструмент для объединения, очистки и преобразования данных из нескольких источников в нужный вам формат —обычную таблицу, сводную таблицу или сводную диаграмму.
Чтобы результаты соответствовали вашим ожиданиям, имейте в виду следующее:
- Объединяемые таблицы должны иметь по крайней мере, один общий столбец (также называемый как общий идентификатор или ключевой). Кроме того, эти общие столбцы должны содержать только уникальные значения без повторов.
- В отличие от формул, Power Query не переносит данные из одной таблицы в другую. Он создает совершенно новую таблицу, которая объединяет информацию из исходных таблиц.
- Результирующая таблица не обновляется автоматически. Вы должны явно указать Excel сделать это.
Источник данных
В качестве примера давайте объединим 3 таблицы на основе общих показателей «Код заказа» и «Код покупателя». Обратите внимание, что в каждой из них разное количество строк, первая и вторая имеют дубликаты покупателей и товаров, третья содержит только уникальные записи.
Наша задача — сопоставить данные в таблице 1 с соответствующими записями из двух других и объединить все это примерно следующим образом:
Прежде чем вы начнете присоединять, я бы посоветовал вам дать вашим диапазонам несколько описательных имен, чтобы вам было легче узнавать их и управлять ими позже. Кроме того, хотя мы говорим «таблицы», вам не нужно преобразовывать ваши данные в таблицу Excel. Ваши источники могут быть обычными диапазонами или именованными диапазонами, как в этом примере:
- первый называется Заказ,
- второй — Товар,
- третий — Скидка.
Создание подключений Power Query
Чтобы не загромождать вашу книгу копиями исходных данных, мы собираемся преобразовать их в соединения, выполнить слияние в редакторе Power Query, а затем загрузить только итоговый результат.
Чтобы создать соединение в Power Query, выполните следующие действия:
- Выберите свою первый диапазон (Заказ) или любую ячейку в нем.
- Перейдите на вкладку «Данные» и нажмите «Из таблицы / диапазона».
- В открывшемся редакторе Power Query щелкните стрелку раскрывающегося списка «Закрыть и загрузить» (а не саму кнопку!) и выберите параметр «Закрыть и загрузить в…» .
- В диалоговом окне «Импорт данных» выберите параметр «Только создать подключение» и нажмите « ОК» .
Это создаст соединение с именем вашего диапазона и отобразит его на панели запросов и подключений, которая появится в правой части вашей книги.
- Повторите вышеуказанные шаги для всех остальных таблиц, которые вы хотите объединить.
Когда закончите, вы увидите все подключения на правой панели:
Как объединить два соединения в одну таблицу.
Теперь давайте посмотрим, как вы можете объединить две таблицы в одну при помощи созданных подключений:
- На вкладке «Данные» нажмите кнопку «Получить данные», выберите «Объединить запросы» в раскрывающемся списке и нажмите «Объединить»:
- В диалоговом окне «Слияние» сделайте следующее:
- Выберите свой первый диапазон (Заказ) из первого раскрывающегося списка.
- Выберите второй (Товар) из второго раскрывающегося списка.
- В обоих предварительных просмотрах щелкните соответствующий столбец (код заказа), чтобы выбрать его. Он будет выделен зеленым.
- В раскрывающемся списке «Тип присоединения» оставьте значение по умолчанию: «Левый внешний» (все с первого, соответствие со второго).
- Щелкните ОК.
После выполнения вышеуказанных шагов редактор Power Query покажет вашу первую таблицу (Заказ) с одним дополнительным столбцом. Он будет назван как ваша вторая таблица (Товар) и добавлен в конец. В нём пока нет значений, только слово «Таблица» во всех ячейках. Но не расстраивайтесь, вы все сделали правильно, и мы скоро это исправим!
Выберите столбцы для добавления из второй таблицы
На текущий момент у вас есть результат, изображенный на скриншоте ниже. Чтобы завершить процесс слияния, выполните следующие действия в редакторе Power Query Editor:
- В последнем столбце (Товар) нажмите на двустороннюю стрелку в заголовке.
- В открывшемся окне сделайте следующее:
- Не снимайте флажок «Развернуть».
- Отмените весь выбор, а затем укажите только те, которые вы хотите скопировать. В этом примере мы выбираем только колонки Товар и Количество, потому что в исходной информации уже есть код заказа.
- Снимите флажок Использовать исходное имя столбца как префикс (если вы не хотите, чтобы имя столбца было с префиксом с именем таблицы, из которой он был взят).
- Щелкните ОК.
В результате вы получите новую таблицу, содержащую все записи из вашей первой и дополнительные колонки из второй:
Если вам нужно объединить только две таблицы, вы можете считать работу почти выполненной и загрузить полученный результат в Excel. Но нам нужно добавить еще информацию.
Как объединить больше таблиц.
Если вам нужно присоединиться к трем или более столам, вам предстоит еще кое-что подработать. Я кратко опишу шаги здесь, потому что вы уже выполняли все это при объединении первых двух диапазонов:
- Сохраните результат, полученный на предыдущем шаге (показанную на скриншоте выше), как соединение:
- В редакторе запросов питания, нажмите кнопку Закрыть и загрузить на стрелку раскрывающегося списка и выберите Закрыть и загрузить … .
- В диалоговом окне «Импорт данных» выберите «Только создать подключение» и нажмите « ОК» .
Это добавит еще одно соединение с именем Слияние1 на панель запросов и подключений. Вы можете переименовать это соединение, если хотите. Щелкните по нему правой кнопкой мыши и выберите «Переименовать» во всплывающем меню.
- Объедините Слияние1 с вашей третьей таблицей (Скидка), выполнив уже знакомые нам действия (вкладка Данные —Получить данные — Объединить запросы).
На скриншоте ниже показаны мои настройки:
- При нажатии кнопки ОК в диалоговом окне «Слияние» открывается редактор Power Query. В нем вы выбираете все нужное для добавления из третьей таблицы.
В этом примере нам нужен только показатель Скидка:
В результате вы получите новую объединенную таблицу, состоящую из первоначальной и дополнительных столбцов, скопированных из двух других.
Как импортировать объединенную таблицу в Excel.
С полученными результатами в редакторе Power Query вам остается сделать только одно — загрузить их в свою книгу Excel. И это самая легкая часть!
- В редакторе запросов нажмите Закрыть и загрузить.
- В диалоговом окне «Импорт данных» выберите параметры «Таблица» и «Новый лист».
- Щелкните ОК.
Новая таблица, объединяющая информацию из двух или более источников, появится на новом листе. Поздравляю, у вас получилось!
В качестве последнего штриха вы можете применить процентный формат к скидкам и, возможно, изменить стиль оформления по умолчанию на ваш любимый. После этих улучшений моя комбинированная таблица выглядит очень красиво:
Примечание. Если вы работаете с числовыми показателями (например, о динамике продаж), и вы хотите дальше их анализировать, вы можете загрузить полученный свод в качестве отчета сводной таблицы (это второй пункт в окне импорта).
Как сделать объединение на основе нескольких столбцов.
В предыдущем примере мы объединяли таблицы, сопоставляя один ключевой столбец в каждой из них. Но нет ничего, что могло бы помешать вам выбрать две или более пары колонок. Вот как это сделаем:
В диалоговом окне » Слияние» удерживайте клавишу Ctrl и щелкайте по ключевым столбцам один за другим, чтобы выбрать их. Важно, чтобы вы нажимали их в одном и том же порядке в обоих предварительных просмотрах, чтобы аналогичные столбцы имели одинаковые номера. Например, менеджер — это ключевой столбец №1, а товар — ключевой №2. Пустые ячейки или строки, которые Power Query не может сопоставить, показывают null :
После этого выполните точно такие же действия, как описано выше, и ваши таблицы будут объединены путем сопоставления значений по менеджерам и товарам.
Как обновить объединенную таблицу
Лучшее в Power Query — это то, что настраивать объединенную таблицу нужно только один раз. Когда вы вносите некоторые изменения в исходные файлы, вам не нужно снова повторять весь процесс. Просто нажмите кнопку «Обновить» на панели «Запросы и подключения», и объединенная таблица сразу же обновится:
Если панель исчезла из Excel, нажмите кнопку «Запросы и подключения», чтобы вернуть ее.
Кроме того, вы можете нажать кнопку «Обновить все» на вкладке «Данные» или кнопку «Обновить» в запросе (эта вкладка активируется после выбора любой ячейки в объединенной таблице).
А теперь рассмотрим применение специальной программы.
Быстрый способ объединить таблицы путем сопоставления ключевых столбцов.
Если вы еще не очень хорошо знакомы с формулами Excel и у вас нет времени разбираться в загадочных особенностях Power Query, мастер объединения таблиц Merge Two Tables может существенно сэкономить вам время и нервы. Ниже я покажу три наиболее популярных варианта использования его для объединения таблиц.
Пример 1. Объедините две таблицы по нескольким столбцам.
Если вы считаете, что формулу массива для столбцов трудно запомнить и применять, положитесь на специальную надстройку, которая сделает эту работу быстро и безупречно.
В этом примере мы будем использовать уже знакомые по предыдущим разделам этой статьи таблицы и объединять их на основе 2 столбцов: «Код покупателя» и « Товар».
Итак, у нас есть в основной таблице список заказов для нескольких покупателей. И есть таблица скидок для этих покупателей на некоторые из товаров. Нужно перенести в основную таблицу процент скидки. Обратите внимание, что основная таблица имеет строк больше, чем таблица поиска:
С помощью мастера объединения таблиц, вам нужно сделать следующее:
- Выберите любую ячейку в основной таблице и нажмите кнопку «Объединить две таблицы (Merge Two Tables)» на вкладке «Ablebits Data»:
- Убедитесь, что программа правильно выбрала диапазон ячеек, и нажмите Далее (Next).
- Выберите таблицу поиска и нажмите Далее:
- Укажите пары столбцов, которые нужно сопоставить в обеих таблицах, в нашем случае Продавец и Товар, и нажмите Далее:
Примечание. Если регистр текста в ключевых столбцах имеет значение, установите флажок Учитывать регистр, чтобы прописные и строчные буквы обрабатывались как разные символы.
- При желании выберите столбцы, которые нужно обновить значениями из таблицы поиска. Поскольку у нас нечего обновлять, мы оставляем все их как есть и просто нажимаем «Далее».
- Выберите столбцы, которые нужно добавить в основную таблицу, и нажмите « Далее». Добавляем скидку, как и планировали.
- На этом этапе вы указываете мастеру, как именно вы хотите объединить таблицы. Все опции имеют описательные надписи, поэтому я не буду вдаваться в подробные объяснения. Если вы не уверены в каком-либо варианте, щелкните знак вопроса рядом с ним, и небольшая диаграмма покажет вам, как таблицы будут объединены.
В нашем случае параметры по умолчанию работают нормально, поэтому мы нажимаем Finish, ничего не меняя:
Дайте мастеру несколько секунд на обработку и просмотрите результат:
Как видно на скриншоте выше, мастер сделал следующее:
- Добавлен столбец «Скидка» путем сопоставления имени продавца и наименования товара в обеих таблицах.
- В столбце имеются пустые ячейки, поскольку не для всех товаров этим продавцам были предоставлены скидки.
Пример 2. Объединение таблиц и обновление выбранных столбцов.
Если ваша основная таблица содержит устаревшие данные, вы можете обновить ее соответствующими значениями из таблицы поиска.
Продолжим рассматривать данные предыдущего примера. Предположим, некоторым из покупателей был изменен размер скидки, а также были добавлены дополнительные позиции в таблицу скидок. В связи с этим наша основная таблица устарела и нуждается в обновлении. Давайте снова объединим 2 таблицы по покупателю и наименованию товара и обновим значения в столбце Скидка.
Чтобы получить нужный результат, вам нужно сделать следующее:
Шаг 1. Выберите основную таблицу.
Шаг 2. Выберите таблицу поиска.
Шаг 3. Выберите «Код покупателя» и «Товар» как ключевые столбцы.
Шаг 4. Выберите столбец «Скидка» для обновления. То есть, в этот столбец основной таблицы будут перенесены обновленные значения из соответствующего столбца из таблицы поиска. Параметры этого добавления вы укажете чуть позже.
Шаг 5. Пропустите, потому что у нас нет столбцов для добавления. Нам нужно просто обновить информацию.
Шаг 6. Поскольку в столбце «Скидка» есть несколько пустот, мы выбираем обновление только в том случае, если ячейки в таблице поиска содержат данные. Таким образом мы обновим устаревшие значения, но не потеряем никакие данные, которые по какой-то причине исчезли из таблицы поиска. При желании вы можете выделить обновленные ячейки любым цветом по вашему выбору. На скриншоте ниже показаны настройки:
Совет. Чтобы предотвратить перезапись существующих данных, вы можете обновлять только пустые ячейки в основной таблице.
И вот результат:
Как видите, две скидки были добавлены и две — обновлены, так как изменились их величины.
Конечно, можно это сделать и при помощи формул, как это описано в начале этой статьи, но затраты времени будут на порядок больше.
Пример 3. Объединение по нескольким совпадающим значениям из двух таблиц.
В ситуациях, когда таблица поиска содержит несколько вхождений ключевого значения, вы можете захотеть перетащить их все в свою основную таблицу. Эту задачу можно выполнить с помощью одной из нестандартных формул массива. Или вы можете сделать это простым способом с помощью мастера объединения таблиц.
Предположим, ваша основная таблица содержит только по одному заказу от каждого покупателя, а таблица поиска содержит дополнительные заказы по множеству покупателей. Теперь вы хотите добавить в основную таблицу все заказы по уже имеющимся в ней покупателям и сгруппировать их по коду продавца. К примеру, найти во второй таблице все заказы покупателя с кодом «Красный» и поместить их в первую сразу после уже имеющейся записи по этому покупателю (то есть, начиная с 3-й строки).
Похоже, предстоит много работы? Нет, если в вашем распоряжении есть Мастер слияния таблиц Merge Two Tables 
А теперь рассмотрим все действия по объединению таблиц пошагово.
Шаг 1. Выберите основную таблицу.
Шаг 2. Выберите таблицу поиска.
Здесь вы видите архив записей по продажам. Из него нам нужно извлечь в основную таблицу только записи по имеющимся в ней 4 покупателям.
Шаг 3. Выберите Код покупателя в соответствующем столбце.
Эта операция нам уже знакома – выбираем ключевой столбец, в котором будем искать совпадения в обеих таблицах.
Шаг 4. Выбираем столбцы, информацию в которых нужно обновить.
Нам нужны все столбцы, поэтому можно просто нажать на чекбокс в шапке таблицы, чтобы выбрать все сразу.
Шаг 5. Нет столбцов для добавления. Пропускаем.
Шаг 6. Вставляем дополнительные совпадающие строки после строки с тем же значением ключа. При желании установите цвет фона для добавленных строк, чтобы сразу просмотреть изменения:
Чтобы не потерять уже имеющиеся в основной таблице значения, активируем опцию «Обновлять в основной таблице только пустые ячейки».
И вот результат:
Как видите, 4 строки остались, и к каждой из них добавлены снизу данные по этому покупателю, извлечённые из таблицы поиска.
В приведенных выше примерах показаны только 3 из множества возможных способов объединения таблиц в Excel. Вы можете загрузить 14-дневную пробную версию и попробовать объединение таблиц на своих данных.
Если будут вопросы или замечания, не стесняйтесь использовать комментарии.
Мы познакомили вас с основными способами соединения двух и более таблиц. Думаю, вы сможете выбрать наиболее подходящий для вас исходя из имеющейся информации и решаемых задач.
Поиск ВПР нескольких значений по нескольким условиям — В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Функция ЕСЛИОШИБКА – примеры формул — В статье описано, как использовать функцию ЕСЛИОШИБКА в Excel для обнаружения ошибок и замены их пустой ячейкой, другим значением или определённым сообщением. Покажем примеры, как использовать функцию ЕСЛИОШИБКА с функциями визуального…
Как сделать диаграмму Ганта — Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта. В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel — В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Быстрое удаление пустых столбцов в Excel — В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…
Как быстро объединить несколько файлов Excel — Мы рассмотрим три способа объединения файлов Excel в один: путем копирования листов, запуска макроса VBA и использования инструмента «Копировать рабочие листы» из надстройки Ultimate Suite. Намного проще обрабатывать данные в…
Консолидация данных с нескольких листов
Смотрите такжеПохоже на Вашу 0 список 1048576 значениями.avFiles = Application.GetOpenFilename(«Excel files(*.csv*),*.csv*», — их названия с листов Киев,Sub sbor() диапазон в список Потом произошло обновление а затем вернитесь для каждого исходного каждому из этих, а другой —Все ссылкиСовет: области, в которойПримечание: проблему?’Запрос сбора данныхHugo
, «Выбор файлов», ставите как названия Одесса соответствующее значениямWith Sheets(2): arr1 объединяемых диапазонов. данных, снова собрал в мастер сводных диапазона, а также отделов, а такжеСреднее. Чтобы указать ссылку на требуется разместить консолидированные Мы стараемся как можноjurafenix
с книг(если Нет: Ну так данные , True) городов (т.е. формируете в колонке Имя = .Range(.Cells(1), .Cells.SpecialCells(xlCellTypeLastCell)):Повторите эти же действия данные первые данные таблиц и диаграмм элемент для консолидации элемент, содержащий сводные, консолидация не просуммируетПосле добавления данных из ячейку — например, данные. оперативнее обеспечивать вас
: Похоже, но названия — то сбор ведь собрали.If VarType(avFiles) = vbBoolean массив — делайте в итоговую таблицу End With для файлов Риты удалились (пустые ячейки), и нажмите кнопку всех диапазонов, сделайте данные. В примере эти столбцы.
Способов консолидации данных
всех исходных листов продажи! B4 —Примечание:
актуальными справочными материалами листов определенные нужны, идет с активнойА открывать csv Then Exit Sub сразу двухмерный). Затем, в колонку соответствующегоWith Sheets(3): arr2 и Федора. В а новые данныеДобавить
следующее: ниже показана своднаяОткройте каждый из исходных и книг нажмите в формуле, не Чтобы избежать перезаписи существующие на вашем языке. т.к. с других книги) можно другими программами,bPolyBooks = True в этом же
-
города. = .Range(.Cells(2, 1), итоге в списке добавились в конец.Добавьте мастер сводных таблиц таблица, в которой листов. кнопку вводя, введите формулу данные в основном
Эта страница переведена листов данные переноситьIf MsgBox(«Собрать данные которые для этогоlCol = 1 цикле создаете коллекциюПример в приложении.
Как для консолидации
.Cells.SpecialCells(xlCellTypeLastCell)): End With должны оказаться все таблицы.Совет:
-
и диаграмм на выбраны одно полеНа конечном листе щелкнитеОК
-
до того места, листе, убедитесь, оставьте автоматически, поэтому ее не требуется… с нескольких книг?», предусмотрены.Else уникальных имен, иОчень нужна помощь.Sheets(5).Cells(1).Resize(UBound(arr1), UBound(arr1, 2)).Value три диапазона:Излишнее цитирование удалено администрацией
-
Если диапазон ячеек находится панель быстрого доступа. страницы и несколько верхнюю левую ячейку. куда требуется вставить достаточно ячеек справа текст может содержатьjurafenix
-
vbInformation + vbYesNo,Подбить статистику можно
-
-
avFiles = Array(ThisWorkbook.FullName) еще одним циклом В примере всего = arr1Обратите внимание, что в
- это нарушение в другой книге, Для этого: элементов. области, в которойДля консолидации по категории ссылку, а затем
-
и верхний угол неточности и грамматические: Спасибо огромное!) Как «Excel-VBA») = vbYes макросом.End If заносите в тот
-
1 книга наSheets(5).Cells(UBound(arr1) + 1, данном случае Excel п.5j Правил форума сначала откройте ее,Щелкните стрелку рядом сЕсли велика вероятность того,
требуется разместить консолидированные диапазон данных на щелкните лист, используйте
-
консолидированные данные.
ошибки. Для нас раз то, что ThenИли например использовать’отключаем обновление экрана, автопересчет же массив показатели 2 листа, а
1).Resize(UBound(arr2), UBound(arr2, 2)).Value запоминает, фактически, положениеboa чтобы упростить выбор панелью инструментов и что в следующий данные. каждом из исходных клавишу tab и
Нажмите кнопку важно, чтобы эта нужно.avFiles = Application.GetOpenFilename(«Excel Access. формул и отслеживание с листов к обработать нужно 6 = arr2 файла на диске,: werty456, данных. выберите раз при консолидацииПримечание: листов должен иметь затем щелкните ячейку.данные статья была вам:hands: А позволите
-
files(*.xls*),*.xls*», , «Выборjurafenix событий соответствующим именам (это книг в каждойEnd Sub прописывая для каждого
-
Замените строкуВ разделеДополнительные команды данных исходный диапазон Убедитесь, что справа и формат списка без Excel будет завершена> полезна. Просим вас еще усложнить задачу?) файлов», , True)
: Доброго времени суток,’для скорости выполнения кода
-
строки) и в из которых болееRLGrime из них полный
-
Range(«A10:K» & iLastRow).ClearВо-первых, укажите количество полей. данных изменится (например, снизу достаточно свободных пустых строк и адрес имя иКонсолидация уделить пару секундНужно чтобы сIf VarType(avFiles) = уважаемые форумчане! и для избежания соответствующий город (столбцы 50 листов.: sboy, Спасибо огромное)
-
-
путь (диск-папка-файл-лист-адреса ячеек).на страницы сводной таблицыВ списке изменится число строк), ячеек для консолидированных столбцов. Кроме того, ячейку листа для(в группе
-
и сообщить, помогла Листа 1 и vbBoolean Then ExitВновь возник вопрос, ошибок, если в массива).Перешерстила весь форум,
-
Все работает, то Чтобы суммирование происходилоКодRange(«A10:K» & iLastRow).EntireRow.Deleteщелкните число полей,Выбрать команды из рекомендуется задать имя
-
Консолидация данных с помощью формул
данных. категории должны быть вас.
Работа с данными ли она вам, Листа 2 Данные Sub ответ на который книгах есть иныеВыгружаете через resize есть похожие темы, что нужно) с учетом заголовковлибо после очищения которые вы хотитевыберите пункт
для каждого изНа вкладке названы одинаково. Например,Примечание:). с помощью кнопок копировались в следующесмbPolyBooks = True на страницах нашего коды массив. но решения моейRLGrime столбцов и строк делайте ресайз таблицы использовать.Все команды исходных диапазонов наДанные если один изформулы в такихВыберите в раскрывающемся списке внизу страницы. Для порядке:lCol = 1
замечательного форума яWith ApplicationZ
задачи не нашла:(: sboy, А еще необходимо включить обаwerty456В группе. разных листах. Этив разделе столбцов называется случаях может бытьФункция удобства также приводим
support.office.com
Объединение данных с нескольких листов
1 столбец вElse не нашел.lCalc = .Calculation: В разделе «Ссылки»Спасибо! вопрос, если добавить флажка: Спасибо большоеЗатем выберите диапазон вВыберите в списке пункт имена можно использоватьСервисСред. ошибкам, поскольку оченьфункцию, которую вы ссылку на оригинал 1 столбецavFiles = Array(ThisWorkbook.FullName)Имеется файл с.ScreenUpdating = False: .EnableEvents есть адресок одного
Kuzmich к сборке ещеИспользовать в качестве именKuzmich списке и укажитеМастер сводных таблиц и при консолидации диапазоновнажмите кнопку, а другой — просто случайно выбираемых хотите использовать для (на английском языке).3 столбец воEnd If данными на 4 = False: .Calculation прибамбаса для сбора: Измените чуть-чуть структуру и 4й лист,(Use labels): Не, нормально… метку элемента в
диаграмм на главном листе.КонсолидацияСреднее неправильной ячейки. Также консолидации данных. ПоДля подведения итогов и 2’отключаем обновление экрана, листах. Требуется на = xlManual чегой-то… Словом, делов-то ваших таблиц, как это реализовать?. ФлагМакрос я писал, каждом из доступныхи нажмите кнопку
В случае расширения., консолидация не просуммирует
Консолидация по расположению
может быть сложно умолчанию используется значение результатов из отдельных4 в 3 автопересчет формул и пятом листе собратьEnd With
-
на 5-10 минутперенесите все на Я в этомСоздавать связи с исходными старался,
-
окон полей. ПовторитеДобавить исходного диапазона передВыберите в раскрывающемся списке эти столбцы.
ошибку сразу после СУММ. листов, можно объединить5 в 4 отслеживание событий
-
данные с тех’создаем новый лист в и получите… ;) лист Итого и просто 2по5, сам даннымино спасибо не
-
операцию для каждого, а затем — кнопку обновлением сводной таблицыфункцию
-
Откройте каждый из исходных ввода сложные формулы.
Вот пример, в котором данные из каждогои 7 в 5’для скорости выполнения
-
четырех листов в книге для сбора И таких варьянтов… используйте сводную таблицу не могу решить.(Create links to source
Консолидация по категории
дождался! диапазонаОК можно обновить диапазон, которую требуется использовать листов.Если данные для консолидации выбраны три диапазоны листа в главномС листа 3 кода и для первый столбец -Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))ps Одна беда:vikiviki Попробовал, получается добавляет
-
data)werty456
-
для каждого из. на отдельном листе для консолидации данных.На конечном листе щелкните
находятся в одинаковых листа: листе. Листы может данные копировались в ибежания ошибок, если
-
первый столбец, во’если нужно сделать сбор надо мал-мал ручками: Для примера отлично только 2 позиции.позволит в будущем:
-
полей страницы выберитеВ книге щелкните пустую для указанного имениУстановите флажки в группе
-
верхнюю левую ячейку ячейках разных листов:Выделите данные. быть в той следующем порядке в книгах есть второй — третий, данных на новый и головой -11183- сработает. Но в
-
Если не сложно (при изменении данныхKuzmich диапазон ячеек, а ячейку, которая не таким образом, чтобыИспользовать в качестве имен
области, в которойВвод формулы с трехмернойДалее в поле же книге как
-
1 столбец в иные коды в третий - лист книги сKuzmich работе применить такое
подскажите и я в исходных файлах), извините что так затем укажите его является частью сводной включить в него, указывающие, где в требуется разместить консолидированные
Консолидация по расположению
ссылки, которая используетссылка главном листе или 1 столбецWith Application четвертый. В массивах кодом
-
: На листе «ИТОГО» решение не удастся. уже отстану) Спасибо. производить пересчет консолидированного долго не отвечал
-
имя. таблицы. новые данные. исходных диапазонах находятся данные.
ссылку на диапазоннажмите кнопку в других книгах.2 столбец вlCalc = .Calculation
-
пустых строк нет,’Set wsDataSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) макрос, собирающий данные Так как придетсяsboy отчета автоматически.Спасибо большое
-
ПримерНа страницеВ Excel также доступны названия:
-
Примечание: имен листов. НапримерСвернуть При объединении данных, 5
.ScreenUpdating = False: т.е. можно сделать’цикл по книгам со всех листов
-
перекроить форму более: Добавить еще массивПосле нажатия наP.S. Перебои сЕсли в разделеШаг 1
Консолидация по категории
другие способы консолидацииподписи верхней строки Убедитесь, что справа и для консолидации данных, чтобы уменьшить масштаб чтобы упростить можно3 столбец в .EnableEvents = False: условие до первойFor li = LBound(avFiles)(города) книги и 300 таблиц, чтоЕсли листов много,ОК интернетом(((Во-первых, укажите количество полей
-
мастера выберите параметр данных, которые позволяют
-
, снизу достаточно свободных в ячейках с панели и выбрать обновить и статистической
4 .Calculation = xlManual пустой ячейки. Может To UBound(avFiles) строящий сводную таблицу
-
отнюдь не сэкономить то имеет смыслвидим результат нашейИмеем несколько однотипных таблиц страницы сводной таблицыв нескольких диапазонах консолидации работать с данными
-
значения левого столбца ячеек для консолидированных A2 по продажам данные на листе.
-
обработки при необходимости5 столбец воEnd With есть какие мысли?)If bPolyBooks Then по этим данным. время, а скорее переделать на цикл работы: на разных листах
-
задано число, а затем нажмите в разных форматахлибо оба флажка данных. через маркетинга включительно,Щелкните лист, содержащий данные, собирать данные. 2’создаем новый лист
Заранее спасибо!Set wbAct = Workbooks.Open(Filename:=avFiles(li))dnsel наоборот. Более того
-
по листамНаши файлы просуммировались по одной книги. Например,1 кнопку и макетах. Например,
одновременно.На вкладке в ячейке E5 которые требуется консолидироватьНапример, если в каждомВыполнимо?) в книге дляК сожалению файл
support.office.com
Консолидация нескольких листов в одной сводной таблице
Else: Доброго времени суток форма является утвержденной,Sub sbor() совпадениям названий из вот такие:, выберите каждый изДалее вы можете создаватьВыделите на каждом листеДанные главном листе вы данные и нажмите из региональных офисовЭффект желательно, чтобы сбора приложить не смогу,Set wbAct = ThisWorkbook всем! что затрудняет изменении
Консолидация нескольких диапазонов
With Sheets(2): arr1 крайнего левого столбцаНеобходимо объединить их все диапазонов, а затем. формулы с объемными нужные данные. Нев группе бы введите следующие кнопку есть свой лист был как отThisWorkbook.Sheets.Add After:=Sheets(Sheets.Count) т.к.:End IfЕсть потребность собрать
ее структуры в = .Range(.Cells(1), .Cells.SpecialCells(xlCellTypeLastCell)): и верхней строки в одну общую введите уникальное имяНа странице ссылками или использовать забудьте включить вРабота с данными данные:Развернуть диалоговое окно расходов, с помощью вашего макроса)))Set wsDataSheet =
Настройка исходных данных
1. Нахожусь наoAwb = wbAct.Name данные из нескольких дальнейшем. End With выделенных областей в таблицу, просуммировав совпадающие в полеШаг 2а команду них ранее выбранныенажмите кнопкуПримечание:справа, чтобы вернуться консолидации можно свести
Поля страницы при консолидации данных
jurafenix ThisWorkbook.ActiveSheet работе, где интернет’цикл по листам файлов excel наМожно ли использоватьWith Sheets(3): arr2 каждом файле. Причем, значения по кварталамПервое полевыберите параметрКонсолидация данные из верхнейКонсолидацияМы стараемся как в диалоговое окно эти данные на: Всё, окончательная структура’цикл по книгам через удаленное рабочееFor Each wsSh In
Использование именованных диапазонов
один лист. макрос для решения = .Range(.Cells(2, 1), если развернуть группы и наименованиям.. Если у васСоздать одно поле страницы(доступную на вкладке строки или левого. можно оперативнее обеспечиватьКонсолидация главном листе корпоративных файла утверждена иFor li = место без возможности wbAct.SheetsСтруктура всех файлов такой задачи? .Cells.SpecialCells(xlCellTypeLastCell)): End With (значками плюс слеваСамый простой способ решения
Другие способы консолидации данных
четыре диапазона, каждый, а затем нажмитеДанные столбца. Затем нажмитеВыберите в раскрывающемся списке вас актуальными справочными. расходов. Главный лист пример проработан) LBound(avFiles) To UBound(avFiles) закачивания файловIf wsSh.Name Like sSheetName одинакова, есть такойZWith Sheets(4): arr3 от таблицы), то
Консолидация нескольких диапазонов
задачи «в лоб» из которых соответствует кнопкув группе кнопкуфункцию материалами на вашемЕсли лист, содержащий также может содержать
Консолидация данных без использования полей страницы
Задача следующая:If bPolyBooks Then2. В файле Then код, все вроде
-
: off = .Range(.Cells(2, 1), можно увидеть из — ввести в
-
кварталу финансового года,ДалееРабота с даннымиДобавить, которую требуется использовать
-
языке. Эта страница данные, которые необходимо итоговые и средниеНужно чтобы с Workbooks.Open Filename:=avFiles(li)
-
содержатся конфедициальные сведения’Если имя листа совпадает работает, но периодическиБудьте решительнее, ведь .Cells.SpecialCells(xlCellTypeLastCell)): End With какого именно файла ячейку чистого листа выберите первый диапазон,
-
-
.).. для консолидации данных.
-
переведена автоматически, поэтому объединить в другой
-
значения продаж, данные Листа «ОСВрубли7777» иoAwb = Dir(avFiles(li), (банк). с именем листа, падает с ошибкой вы не испрашиваетеSheets(5).Cells(1).Resize(UBound(arr1), UBound(arr1, 2)).Value
-
какие данные попали формулу вида введите имя «Кв1»,На страницеДля консолидации нескольких диапазоновПуть к файлу вводитсяУстановите флажки в группе ее текст может
-
книге, нажмите кнопку о складских запасах Листа «ОСВрублиБФ» Данные
-
vbDirectory)Если без файла в который собираем 1004: разрешение на написание = arr1 в отчет и=’2001 год’!B3+’2002 год’!B3+’2003 год’!B3
выберите второй диапазон,Шаг 2б вы можете воспользоваться в полеИспользовать в качестве имен содержать неточности и
-
Обзор и информацию о копировались в следующесм’цикл по листам не получится, попробую данныеДанные не могут макроса, а «тонкоSheets(5).Cells(UBound(arr1) + 1,
-
-
ссылки на исходныекоторая просуммирует содержимое ячеек введите имя «Кв2″сделайте следующее: мастером сводных таблицВсе ссылки, указывающие, где в грамматические ошибки. Для, чтобы найти необходимую самых популярных товарах
Консолидация данных с использованием одного поля страницы
порядке:For Each wsSh вечером что-то похожее’и сбор идет только быть вставлены из=за намекаете» на то, 1).Resize(UBound(arr2), UBound(arr2, 2)).Value
-
файлы: B2 с каждого и повторите процедуруПерейдите в книгу и
-
и диаграмм. В. исходных диапазонах находятся нас важно, чтобы книгу. После поиска
-
в рамках всей1 столбец в In Workbooks(oAwb).Sheets выложить… с активной книги
-
несоответствия формы и чтобы кто-то его = arr2Предположим, имеется куча книг из указанных листов, для диапазонов «Кв3″ выделите диапазон ячеек, нем можно указать,
-
-
После добавления данных из названия: эта статья была и нажмите кнопку
-
компании. 1 столбецIf wsSh.Name LikeПрошу прощения за — то переходим размеров области копирования для вас нашелSheets(5).Cells(UBound(arr1) + UBound(arr2)
-
Excel, все листы и затем скопировать и «Кв4». а затем вернитесь сколько полей страницы всех исходных листовподписи верхней строки вам полезна. Просим
-
ОКСовет:3 столбец во
-
sSheetName Then неудобства к следующему листу и области вставки….. или написал… Поскольку + 1, 1).Resize(UBound(arr3), из которых надо ее на остальные
Если в разделе в мастер сводных будет использоваться: ни и книг нажмите, вас уделить пару
-
-
, Excel в поле Если вы часто консолидировать 2
-
’Если имя листаВ интернете нашелIf wsSh.Name = wsDataSheet.NameВыделяет эту строку: сами не беретесь UBound(arr3, 2)).Value = объединить в один ячейки вниз иВо-первых, укажите количество полей таблиц и диаграмм
Консолидация данных с использованием нескольких полей страницы
одного, одно или кнопкузначения левого столбца секунд и сообщить,ссылка данные, он помогут4 в 3 совпадает с именем такой интересный код, And bPolyBooks =wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues — заказывайте… ;) arr3 файл. Копировать руками вправо. страницы сводной таблицы и нажмите кнопку несколько.ОК
-
либо оба флажка помогла ли онавведите путь к создать новые листы
-
5 в 4 листа, в который а ума переделать False Then GoToПомогите, пожалуйста, код
-
-89753-End Sub долго и мучительно,Если листов очень много,задано число
-
ДобавитьЧтобы объединить данные всех. одновременно. вам, с помощью файлу и добавление на основе шаблона6 в 5
-
-
собираем данные под себя не NEXT_ прикладываю (он не
-
Baklanoffkrosav4ig поэтому имеет смысл то проще будет2. диапазонов и создатьПримечание:
-
Выделите на каждом листе кнопок внизу страницы. восклицательный знак, путь с единообразным макетом.и 8 в 6’и сбор идет хватает. В данномWith wsSh
-
мой): Вот как? А: Можно использовать форму
-
использовать несложный макрос. разложить их все, выполните аналогичные действияСовет: консолидированный диапазон без Любые названия, не совпадающие нужные данные. Не Для удобства также
к. Чтобы выбрать Дополнительные сведения оС листа «Банк2рубли» только с активной коде имена листовSelect Case iBeginRange.Count
-
Скрытый текстSub Consolidated_Range_of_Books_and_Sheets() я уже почти для выбора листовОткрываем книгу, куда хотим подряд и использовать в поле
-
Если диапазон ячеек находится полей страницы, сделайте с названиями в забудьте включить в приводим ссылку на другие данные можно шаблонах читайте в данные копировались в книги — то задаются, а мнеCase 1 ‘собираем данныеDim iBeginRange As Object, дописал :(
Private Sub CommandButton1_Click()
-
собрать листы из немного другую формулу:Первое поле в другой книге, следующее: других исходных областях, них ранее выбранные оригинал (на английском нажмите Продолжить. статье: Создать шаблон. следующем порядке переходим к следующему нужно с нескольких начиная с указанной lCalc As Long,Ну ладно, разMe.Hide других файлов, входим=СУММ(‘2001 год:2003 год’!B3). Затем выберите два сначала откройте ее,
-
Добавьте мастер сводных таблиц могут привести к данные из верхней языке) .Вот пример, в котором Это также идеально1 столбец в листу четко перечисленных листов ячейки и до lCol As Long такое дело, тоOn Error Resume в редактор VisualФактически — это суммирование диапазона и введите чтобы упростить выбор и диаграмм на появлению в консолидированных строки или левогоЕсли данные, которые требуется выбраны три диапазоны время Настройка шаблона 1 столбец
-
-
If wsSh.Name = (Лист1, Лист3, Лист4, конца данных
-
-
Dim oAwb As String, оставим до лучших Next Basic ( всех ячеек B3 в поле данных. панель быстрого доступа. данных отдельных строк столбца.
проанализировать, представлены на
support.office.com
Сбор данных с нескольких листов макросом (Макросы/Sub)
листа выбранного: с помощью таблиц2 столбец в
wsDataSheet.Name And bPolyBooks Лист5), но это
lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row sCopyAddress As String, временWith Application: .EnableEvents
ALT+F11 на листах сВторое полеНажмите кнопку Для этого: или столбцов.
Путь к файлу вводится нескольких листах илиВо всплывающем окне Excel. 6 = False Then
не критично. СамоеiLastColumn = .Cells.SpecialCells(xlLastCell).Column sSheetName As String
vikiviki
= 0: .ScreenUpdating), добавляем новый пустой
2001 по 2003,одинаковое имя, например
ДалееЩелкните стрелку рядом с
Консолидация данных представляет собой в поле
в нескольких книгах,
КонсолидацияКонсолидация данных по положению
3 столбец в GoTo NEXT_ главное - нужно
sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column),
Dim lLastrow As Long,: Не надо оставлять
= 0 модуль (в меню
т.е. количество листов, "Пг1" и "Пг2".
.
панелью инструментов и
удобный способ объединения
Все ссылки
их можно объединитьнажмите кнопку или категории двумя 5With wsSh чтобы данные переносились .Cells(lLastrow, iLastColumn)).Address lLastRowMyBook As Long, до лучших времен.With ActiveSheet.UsedRangeInsert — Module по сути, может
Выберите первый диапазонНа странице
выберите
данных из нескольких
.
на одном листе
Добавить способами.
5 столбец (потомSelect Case iBeginRange.Count
в уже созданныйCase Else ‘собираем данные
li As Long, Пожалуйста, напишите. Иначе
Intersect(.Cells, .Offset(1)).Delete xlUp) и копируем туда
быть любым. Также и введите имяШаг 3Дополнительные команды источников в одном
После добавления данных из
с помощью команды. Повторите этот сценарий,
excelworld.ru
Консолидация (объединение) данных из нескольких таблиц в одну
Способ 1. С помощью формул
Консолидация данных по расположению будет заполнен) воCase 1 ‘собираем лист (не удаляя
с фиксированного диапазона iLastColumn As Integer все придется вручнуюEnd With текст вот такого
в будущем возможно «Пг1», выберите второйукажите, следует ли. отчете. Например, если
всех исходных листов
«Консолидация». Например, если чтобы добавить все: данные в исходных второй столбец. данные начиная с строки). Также желательно,sCopyAddress = iBeginRange.Address
Dim wsSh As Object, сводить(With ListBox1 макроса: поместить между стартовым
диапазон и введите
добавлять сводную таблицуВ списке в каждом из и книг нажмите есть отдельный лист нужные диапазоны консолидации. областях том жеЕсли это реально, указанной ячейки и чтобы можно былоEnd Select wsDataSheet As Object,Z, что значитFor i =
Способ 2. Если таблицы неодинаковые или в разных файлах
Sub CombineWorkbooks() Dim и финальным листами имя «Пг1», выберите на новый илиВыбрать команды из региональных филиалов вашей кнопку расходов для каждогоОбновления автоматически и вручную: порядке и использует то буду очень до конца данных задавать столбцы (тоже
lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row + bPolyBooks As Boolean, «заказывайте»? 0 To .ListCount FilesToOpen Dim x дополнительные листы с третий диапазон и же на существующийвыберите пункт компании есть сводная
ОК регионального представительства, сЕсли требуется автоматическое одинаковых наклеек. Этот благодарен реализации данногоlLastrow = .Cells(1, не критично). 1 avFilesZ — 1 As Integer Application.ScreenUpdating данными, которые также введите имя «Пг2», лист, и нажмитеВсе команды таблица расходов, с. помощью консолидации можно обновление консолидации таблицы
метод используется для проекта!
- 1).SpecialCells(xlLastCell).Row
- 200?’200px’:»+(this.scrollHeight+5)+’px’);»>If bPasteValues Then ‘если
- Dim wbAct As Workbook: offIf .Selected(i) Then = False ‘отключаем станут автоматически учитываться выберите четвертый диапазон кнопку
- . помощью консолидации данных Примечание: создать на базе при изменении исходных консолидации данных изЗаранее спасибо, дорогиеiLastColumn = .Cells.SpecialCells(xlLastCell).ColumnSub Consolidated_Range_of_Books_and_Sheets() вставляем только значенияDim bPasteValues As BooleanУ многих планетян-знатоковWith ThisWorkbook.Sheets(.List(i)).UsedRange обновление экрана для
- при суммировании. и введите имяГотовоВыберите в списке пункт можно объединить такие Любые названия, не совпадающие
этих данных корпоративный данных, просто установите нескольких листов, например форумчане!sCopyAddress = .Range(.Cells(iBeginRange.Row,Dim iBeginRange As.Range(sCopyAddress).CopyOn Error Resume Next в подписях естьIntersect(.Cells, .Offset(1)).Copy _ скорости ‘вызываем диалогЕсли исходные таблицы не «Пг2»..Мастер сводных таблиц и значения в корпоративный с названиями в лист расходов. Такой флажок отделов бюджета листов,nilem iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address Object, lCalc AswsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues
’Выбираем диапазон выборки с адреса и «кошельки»[A1].Offset(Cells(Rows.Count, 1).End(xlUp).Row) выбора файлов для
абсолютно идентичны, т.е.Нажмите кнопкуВы можете создать несколько диаграмм отчет о расходах. других исходных областях, лист может содержатьсоздавать связи с исходными которые были созданы: пробуйтеCase Else ‘собираем Long, lCol AsElse книг — они не
planetaexcel.ru
Сборка листов из разных книг в одну
End With импорта FilesToOpen = имеют разное количествоДалее полей страницы ии нажмите кнопку Такой отчет может могут привести к
итоговые и средние данными из одного шаблона.200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ertert() данные с фиксированного Long.Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol)Set iBeginRange = Application.InputBox(«Выберите только принимают благодарности,End If Application.GetOpenFilename _ (FileFilter:=»All строк, столбцов или
. назначить имена элементовДобавить содержать итоговые и появлению в консолидированных данные по продажам,. Если это полеКонсолидация по категорииDim lr& диапазонаDim oAwb AsEnd If диапазон сбора данных.» но и могутNext files (*.*), *.*», повторяющиеся данные илиНа странице каждому из исходных, а затем — кнопку
средние данные по данных отдельных строк текущим уровням запасов остается неограниченный, возможность: данные в исходныхWith Sheets(«ОСВрубли7777»).Range(«A1»).CurrentRegionsCopyAddress = iBeginRange.Address String, sCopyAddress AsApplication.DisplayAlerts = False & vbCrLf & сработать на заказ.End With _ MultiSelect:=True, Title:=»Files находятся в разныхШаг 3 диапазонов. Это позволяетОК
planetaexcel.ru
Как собрать данные с нескольких листов макросом (кнопкой) (Формулы/Formulas)
продажам, текущим уровням или столбцов. и наиболее популярным обновления консолидации вручную. областях не расположеныUnion(.Columns(1), .Columns(3).Resize(, 4),End Select String, sSheetName AsEnd With _ Объявите задачу и.EnableEvents = 1: to Merge») If файлах, то суммированиеукажите, следует ли выполнять частичную или. запасов и наиболееДля консолидации по расположению продуктам в рамкахПримечания: в одном и .Columns(8)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2,lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row StringEnd If»1. При выборе только свои свои контакты .ScreenUpdating = 1: TypeName(FilesToOpen) = «Boolean» при помощи обычных добавлять сводную таблицу полную консолидацию. Например,
В книге щелкните пустую популярным продуктам в
диапазон данных на
всей организации. том же порядке,
1) + 1Dim lLastrow As
NEXT_: одной ячейки данные
- откликнуться. Кроме End With Then MsgBox "Не
формул придется делать
на новый или в одном поле ячейку, которая не рамках всей организации.
каждом из исходныхТип консолидации следует выбиратьСвязи невозможно создать, если но имеют одинаковыеEnd With’вставляем имя книги, Long, lLastRowMyBook AsNext wsSh будут собраны со того:Unload Me выбрано ни одного для каждой ячейки же на существующий
страницы могут консолидироваться является частью сводной
Для подведения итогов и листов должен иметь с учетом того, исходная и конечная
метки. Используйте этот
lr = Sheets("Лист5").Cells(Rows.Count, с которой собраны Long, li As
If bPolyBooks Then wbAct.Close всех листов начиная- Фриланс -
End Sub файла!" Exit Sub персонально, что ужасно
лист, и нажмите данных отдела маркетинга
таблицы. обобщения результатов по формат списка без
как выглядят объединяемые области находятся на способ, чтобы консолидировать 1).End(xlUp)(2, 1).Row
данные
Long, iLastColumn As False с этой ячейки.
- Фриланс -
Private Sub UserForm_Initialize()
End If 'проходим трудоемко. Лучше воспользоваться
кнопку и отдела продажЩелкните значок мастера на
данным в отдельных
пустых строк и
листы. Если данные
одном листе.
данные из несколькихWith Sheets("Банк2рубли").Range("A1").CurrentRegionIf lCol Then
Integer
Next li
" & _
- ... ;)
Dim SH As
по всем выбранным
принципиально другим инструментом.
Готово
без данных производственного панели быстрого доступа. диапазонах можно консолидировать
столбцов.
на листах расположены
Если необходимо изменить степень
листов с разными.Columns(1).Copy Sheets("Лист5").Cells(lr, 1)
wsDataSheet.Cells(lLastRowMyBook, 1).Resize(Range(sCopyAddress).Rows.Count).Value =Dim wsSh As
With ApplicationvbCrLf & "2. При -57744-
Worksheet
файлам x =
Рассмотрим следующий пример. Имеем. отдела, а вНа странице
их в своднойОткройте каждый из исходных единообразно (названия строк диапазона — или макетами, но одинаковыми.Columns(2).Copy Sheets(«Лист5»).Cells(lr, 6) oAwb
Object, wsDataSheet As
.ScreenUpdating = True: .EnableEvents выделении нескольких ячеекvitalisechko
excelworld.ru
Собрать данные с разных листов книги в итоговую таблицу
For Each SH 1 While x три разных файлаК началу страницы другом поле —Шаг 1 таблице на главном листов и убедитесь и столбцов могут замените диапазон — метками данных..Columns(3).Copy Sheets(«Лист5»).Cells(lr, 5).Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, Object, bPolyBooks As = True: .Calculation
данные будут собраны
: Спасибо Вам! Мой In ThisWorkbook.SheetsПосле этого можно вернуться (werty456
данные всех трехмастера выберите параметр листе. Диапазоны могут в том, что при этом различаться), выберите диапазон, воКонсолидация данных по категории.Columns(5).Copy Sheets(«Лист5»).Cells(lr, 2) lCol)
Boolean, avFiles = lCalc только с указанного пример упрощен. МакросIf Not SH в Excel иИван.xlsx
: Доброго времени суток,
отделов. Чтобы создатьв нескольких диапазонах консолидации находиться в той данные на них воспользуйтесь консолидацией по всплывающем окне Консолидация похоже на созданиеEnd With
End WithOn Error ResumeEnd With диапазона всех листов.»,
я могу сама
Is ActiveSheet Then запустить созданный макрос,
уважаемые форумчане! консолидацию с использованием, а затем нажмите
же книге, что расположены одинаково. расположению. Если же и обновлять его, сводной таблицы. СоEnd SubEnd If NextEnd Sub Type:=8) переделать под имеющиеся Me.ListBox1.AddItem SH.Name через менюРита.xlsxПрошу помощи в
нескольких полей страницы, кнопку и главный лист,
На конечном листе щелкните на листах для
выполнив указанные выше сводной таблицей темjurafenixNEXT_:’Выбираем диапазон выборкиHugo’для указания диапазона без рабочие файлы. НеNextСервис — Макрос -и
решении задачи: сделайте следующее:Далее или в других
верхнюю левую ячейку соответствующих категорий используются действия. Создаст новый не менее, вы
: nilem, c листаNext wsSh с книг: Я уже тут диалогового окна: нужны мне ваши
End Sub Макросы (Tools -
ФедорНеобходимо произвести сбор
Добавьте мастер сводных таблиц. книгах. Консолидированные данные области, в которой одинаковые названия строк в ссылке на можете легко переупорядочение ОСВрублиБФ и ОСВрубли7777If bPolyBooks ThenSet iBeginRange = недавно говорил -
’Set iBeginRange = Range(«A1:A10»)
услуги, сама хочу
RLGrime Macro — Macros)
.xlsx данных с «Лист1», и диаграмм наНа странице легче обновлять и требуется разместить консолидированные и столбцов (данные диапазон, поэтому вам категории. Если вам
данные не копирует Workbooks(oAwb).Close False
Application.InputBox(«Выберите диапазон сбора для этого конкретного
‘диапазон указывается нужный научиться работать.: krosav4ig, Спасибо) оченьили нажав) с тремя таблицами: «Лист2», «Лист3», «Лист4″ панель быстрого доступа.Шаг 2а обобщать на регулярной данные.
при этом могут нужно будет сначала нужна более гибкие:(Next li данных.» & vbCrLf случая подходит’Если диапазон не выбранZ полезно если многоALT+F8Хорошо заметно, что таблицы на лист «сводная». Для этого:выберите параметр основе или поПримечание: быть расположены по-разному),
удалить предыдущий перед Консолидация по категории,Только берет сWith Application & _copy /b *.csv — завершаем процедуру
: off листов). Отобразится диалоговое окно не одинаковы -Данные на «Лист1″,Щелкните стрелку рядом сСоздать поля страницы мере необходимости. Убедитесь, что справа и используйте консолидацию по Консолидация еще раз. можно создать сводную Банк2рубли данные и.ScreenUpdating = True:»1. При выборе all.csvIf iBeginRange Is Nothing»Мой» — чей?Elena_новичок открытия файла, где у них различные
«Лист2», «Лист3», «Лист4″ панелью инструментов и
, а затем нажмитеИтоговый консолидированный отчет сводной снизу достаточно свободных категории. Просто выберите старой таблицу . мешает их с .EnableEvents = True:
только одной ячейкиdnsel Then Exit Sub
vikiviki aka Fox(Lisichka:))??: sboy, скажите, как необходимо указать один размеры и смысловая
могут быть записаны выберите кнопку
planetaexcel.ru
Сбор данных из нескольких файлов (csv) на один лист
таблицы может содержать ячеек для консолидированныхБолее новые версии
ссылки и нажмитеПримечание: данными из ОСВрубли7777. .Calculation = lCalc
данные будут собраны: Это в командной’Указываем имя листаДля того, чтобы заменить ссылку на или несколько (удерживая
начинка. Тем не через строчку черезДополнительные командыДалее следующие поля в
данных. Office 2011 г.
клавишу Delete. В этой статье были Видимо данные из
End With
со всех листов строке? А где’Допустимо указывать в имени
что-то переделать, это номер листа на CTRL или SHIFT)
менее их можно две, меняться количество..
областиНа вкладке Нажмите кнопку
созданы с Excel
Банк2рубли просто накладываются
End Sub
начиная с этой путь указывается?
листа символы подставки что-то вам кто-то название листа? Как файлов, листы из
собрать в единый строк и столбцовВ спискеНа страницеСписок полей сводной таблицыДанные
Для консолидации по расположениюОК 2016. Хотя представления на данные ОСВрубли7777KolyvanOFF ячейки. » &
Hugo ? и *.
должен предоставить - поменяется команда With
которых надо добавить отчет меньше, чем
Таблица на листеВыбрать команды из
Шаг 2б
, добавляемой в своднуюв разделе диапазон данных на
, а Excel создаст могут отличаться приnilem: Так нужно?
_: Я не вчитывался’Если указать только * то есть услужить, Sheets(2): ? к текущей книге.
за минуту. Единственным «Сводная», куда заносятсявыберите пунктсделайте следующее:
таблицу: «Строка», «Столбец»Сервис каждом из исходных
консолидации для вас.
использовании другой версии: Ну если макросjurafenix
vbCrLf & «2. в этот нечитаемый то данные будут
оказать услугу, аСпасибо!RLGrime условием успешного объединения
данные, форматирована,как таблицаВсе командыПерейдите в книгу и и «Значение». Кроме
нажмите кнопку листов должен иметь Кроме того можно Excel, шаги одинаковы.
что-то там не: К сожалению, нет. При выделении нескольких
код. Принципиально. собираться со всех
вы от нее
Pelena
: Доброго всем времени
(консолидации) таблиц в
с заголовками, и
. выделите диапазон ячеек, того, в отчет
Консолидация формат списка без применить форматирование. БываетВыполните указанные ниже действия, копирует, значит так
Мне нужно чтобы
ячеек данные будут
Я лишь ответил листов отказываетесь… Последовательнее, логичнее
:
суток. От меня подобном случае является
начинается с 9
Выберите в списке пункт а затем вернитесь можно включить до.
пустых строк и
только необходимо отформатировать
чтобы консолидация нескольких и должно быть
столбец А нескольких
собраны только с
на заглавный вопрос
sSheetName = InputBox(«Введите имя
надо быть, однако
With Sheets(«имя_листа»)
был уже подобный
совпадение заголовков столбцов строки
Мастер сводных таблиц и в мастер сводных
четырех полей фильтра,Выберите в раскрывающемся списке столбцов. один раз, если
рабочих листов вдавайте добавим еще листов копировался в указанного диапазона всех
темы. листа, с которого … 
вопрос, но сейчас
и строк. Именно
Kuzmich диаграмм таблиц и диаграмм которые называются «Страница1»,
функцию
Откройте каждый из исходных
не перезапустить консолидации. главном листе.
три строчки: столбец А итогового
листов.», Type:=8)
dnsel
собирать данные(если неvitalisechko
: Пожалуйста, подскачите решение. задача стоит в
по первой строке
: При активном листе
и нажмите кнопку
и нажмите кнопку
«Страница2», «Страница3» и
, которую требуется использовать
листов и убедитесь
Все названия, не совпадающие
Если вы еще не
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ertert()
файла и т.д.’Если диапазон не
: Не очень понятно,
указан, то данные
: Трактуйте как хотите. Нужно подтянуть данные следующем. Есть какое-то
и левому столбцу
«Сводная» запустить макрос
ДобавитьДобавить «Страница4». для консолидации данных. в том, что
с названиями в сделано, настройте данные
Dim lr& А у вас выбран — завершаем что значит copy
собираются со всех Можете умничать сколько со всех листов кол-во листов в
каждой таблицы ExcelSub Sbor(), а затем — кнопку
.Каждый из диапазонов данныхВыделите на каждом листе данные на них
других исходных областях, на каждом листеWith Sheets(«ОСВрубли7777»).Range(«A1»).CurrentRegion он с одного процедуру
/b *.csv all.csv. листов)», «Параметр») угодно. Вы мне в книге в
книге, например 4. будет искать совпаденияDim Sht AsОКСовет: следует преобразовать в
нужные данные и расположены одинаково. приведут к появлению составные, сделав следующее:
Union(.Columns(1), .Columns(3).Resize(, 4), листа копирует вIf iBeginRange Is
У меня есть’Если имя листа не предлагаете услугу за итоговую таблицу. В Предположим, что все
и суммировать наши Worksheet.
Если диапазон ячеек находится формат перекрестной таблицы нажмите кнопкуНа конечном листе щелкните
дополнительных строк илиУбедитесь, что все диапазоны
.Columns(8)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2, итоговый, а с
planetaexcel.ru
Сбор данных с нескольких листов (Макросы/Sub)
Nothing Then Exit папка с названием указано — данные
деньги. А мне книге каждый лист листы по конструкции данные.Dim iLastRow As
В книге щелкните пустую в другой книге, с совпадающими именамиДобавить верхнюю левую ячейку столбцов в консолидированных данных представлены в 1) других листов не Sub N. Там лежит будут собраны со нужна подсказка от обозначает город, в идентичны, но самиДля того, чтобы выполнить
Long
ячейку, которая не сначала откройте ее, строк и столбцов
. области, в которой данных. формате списка. КаждыйEnd With
копирует(((’Указываем имя листа куча файликов CSV
вех листов людей для которых котором работают менеджера таблицы могут быть
такую консолидацию:Dim iLR As
является частью сводной чтобы упростить выбор для элементов, которыеПуть к файлу вводится требуется разместить консолидированныеУбедитесь, что все категории, столбец необходимо иметьWith Sheets(«ОСВрублиБФ»).Range(«A1»).CurrentRegionnilem’Допустимо указывать в с разными названиями.If sSheetName = «» подобная задача не по продажам. Один различного объема .Заранее откройте исходные файлы Long таблицы. данных. вы хотите объединить.
в поле
данные.
которые не нужно метку (верхний колонтитул)Union(.Columns(1), .Columns(3).Resize(, 4),:
имени листа символыКак в команде Then sSheetName = представляет такой сложности
менеджер может работать И Нужно собратьСоздайте новую пустую книгуiLastRow = Cells(Rows.Count,На странице
В разделе В выбранные данныеВсе ссылкиПримечание:
консолидировать, должны иметь в первой строке
.Columns(8)).Copy Sheets("Лист5").Cells(Rows.Count, 1).End(xlUp)(2,jurafenix
подставки ? и обозначить какая папка "*" как для меня.
в нескольких городах, данные не со (Ctrl + N) 1).End(xlUp).RowШаг 1Во-первых, укажите количество полей не следует включать
. Убедитесь, что справа и уникальные подписи, которые и содержать похожие 1),
*. мне нужна дляOn Error GoTo 0
Я не просила поэтому его имя всех листов, а
Установите в нее активную
Range("A10:K" & iLastRow).Clearмастера выберите параметр страницы сводной таблицы итоговые строки и
После добавления данных из снизу достаточно свободных появляются в диапазоне данные. Должен быть
End Withможет как-то так?:'Если указать только выборки?'Запрос - вставлять на о платных услугах
встречается на нескольких с определенных, поместить ячейку и выберитеFor Each Sht
в нескольких диапазонах консолидациивведите итоговые столбцы. В
всех исходных листов ячеек для консолидированных
только один источник. отсутствуют пустые строкиlr = Sheets("Лист5").Cells(Rows.Count,200?'200px':''+(this.scrollHeight+5)+'px');">Sub ertert() * то данные
Hugo результирующий лист все и не ожидала закладках. данные друг под
на вкладке (в In Worksheets, а затем нажмите
0 приведенном ниже примере и книг нажмите
данных.
Если данные для консолидации
или столбцы в
1).End(xlUp)(2, 1).Row
Dim v
будут собираться со: Самое быстрое - данные
что мне напишутЗадача: другом. Нужно это меню)If Sht.Name <>
кнопку
, а затем нажмите
показано четыре диапазона кнопкуНа вкладке
находятся в разных
любом месте вWith Sheets("Банк2рубли").Range("A1").CurrentRegionFor Each v
всех листов
используя ТоталКоммандер встать'или только значения ячеек
макрос, который я
1) На итоговый сделать именно макросом,
Данные - Консолидация "Сводная" And Sht.Name
Далее кнопку
в формате перекрестной
ОКДанные
ячейках разных листов: списке.
.Columns(1).Copy Sheets("Лист5").Cells(lr, 1) In Array("Лист1", "Лист2",sSheetName = InputBox("Введите в папку и
(без формул и подставлю и все лист собрать названия лучше по нажатию(Data - Consolidate)
<> "123" Then.Далее таблицы.
.
в группе
Введите формулу со ссылкамиРазместите каждый диапазон на.Columns(2).Copy Sheets("Лист5").Cells(lr, 6) "Лист3", "Лист4")
имя листа, с выполнить в коммандной
форматов)
мои проблемы решатся. всех городов в
кнопки. Во вложении. Откроется соответствующее окно:With Sht
На странице
.
При консолидации данных можноДля консолидации по категории
Работа с данными на ячейки других отдельном листе, но
.Columns(3).Copy Sheets("Лист5").Cells(lr, 5)With Sheets(v) которого собирать данные(если
строке эту команду.bPasteValues = (MsgBox("Вставлять только
Baklanoff
строку Город один
пример таблицы и
Установите курсор в строку
iLR = .Cells(.Rows.Count,Шаг 2а
На странице
использовать поля страницы,
диапазон данных нанажмите кнопку листов (по одной
не было введено
.Columns(5).Copy Sheets("Лист5").Cells(lr, 2)
With .Range(«A1», .Cells(Rows.Count, не указан, то
Или сохранить эту значения?», vbQuestion +
: >> А мне за другим. что в итогеСсылка 1).End(xlUp).Rowвыберите параметрШаг 3 содержащие элементы, которые каждом из исходныхКонсолидация на каждый лист).
никаких данных вEnd With 1).End(xlUp)) данные собираются со
строку в bat/cmd,
vbYesNo, "Excel-VBA") =
нужна подсказка от
2) На итогом должно получиться. Собрать(Reference)
iLastRow = Cells(Rows.Count,
Создать поля страницыукажите, следует ли
представляют один или листов должен иметь.
Например, чтобы консолидировать
основном листе где
End Sub
Union(.Columns(1), .Offset(, 2).Resize(,
всех листов)», «Параметр») поместить файл в
vbYes) людей для которых
листе в колонке таблицы нужно си, переключившись в 1).End(xlUp).Row + 1, а затем нажмите добавлять сводную таблицу
несколько исходных диапазонов. формат списка безВыберите в раскрывающемся списке данные из листов
2)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2,’Если имя листа папку и выполнить.’Запрос сбора данных с подобная задача не
Имя вывести список листов 2 и
файл Иван.xlsx, выделите.Range(.Cells(2, «A»), .Cells(iLR,
кнопку
на новый или
Например, при консолидации
пустых строк ифункцию «Продажи» (в ячейке
данных. Excel будет не захочет работать,
1) не указано -
Но можно конечно книг(если Нет -
представляет такой сложности уникальных значений со
3, а 1
таблицу с данными «K»)).Copy Cells(iLastRow, 1)Далее
же на существующий данных бюджета отдела столбцов. Кроме того,, которую требуется использовать
B4), «Кадры» (в
сделать это для то нужен примерEnd With данные будут собраны прописать путь и
то сбор идет как для меня
всех листов(вроде и и 4 не
(вместе с шапкой).
End With
.
лист, и нажмите
маркетинга, отдела продаж категории должны быть для консолидации данных.
ячейке F5) и вас.
вашего файлаEnd With
со вех листов прямо в код.
с активной книги)Подсказать — это простая задача, но
трогать. Помогите решить Затем нажмите кнопкуEnd IfНа странице
кнопку и производственного отдела
названы одинаково. Например,Выделите на каждом листе
"Маркетинг" (в ячейке
Убедитесь, что всех диапазонов
jurafenix
NextIf sSheetName =dnsel
If MsgBox("Собрать данные с
пожалуйста. Здесь все не могу сообразить
данную задачу пжлст)
Добавить
Next
Шаг 2б
Готово
поле страницы может
если один из
нужные данные. B9) в ячейке совпадают.: nilem, Спасибо огромное!!!

End Subсделайте следующее:. содержать отдельный элемент столбцов называется
Путь к файлу вводится A2 основного листа,
На основном листе щелкните
Спасли меня! Всё
Manyasha
= "*" Жаль, только, что + vbYesNo, "Excel-VBA.ru")
по страницам книги
справиться)
sboyв окне консолидации,werty456
Перейдите в книгу и
Чтобы включить одно поле с данными по
Сред.
в поле
введите следующее:
левый верхний угол
отлично работает
: Посмотрите эту тему
On Error GoTo
excel ограничивает мой = vbYes Then (исключая страницу «ИТОГО»)3) Подтянуть Количество
: Добрый день. чтобы добавить выделенный: Собрал данные макросом. выделите диапазон ячеек,


excelworld.ru
страницы, содержащее элемент
Типичная задача — имеем несколько однотипных таблиц на разных листах рабочей книги. Хотим, чтобы при внесении данных в любую из этих таблиц — данные добавлялись в одну общую таблицу, расположенную на отдельном листе.
Инструкция
Устанавливаем себе надстройку ЁXCEL. Читаем справку.
Приступаем к решению. Переходим во вкладку ЁXCEL главного меню, нажимаем кнопку «Таблицы», в выпавшем списке выбираем команду «Объединить таблицы»:
В открывшемся диалоговом окне выделяем листы с таблицами, которые необходимо объединить и нажимаем «ОК»:
Программа сформирует запрос — объединит таблицы и выведет информационное сообщение:
Переходим на итоговый лист (тот где хотим вывести общую таблицу), устанавливаем курсор в ячейку «A1«. Переходим в главном меню во вкладку «Данные» в разделе «Получение внешних данных» нажимаем кнопку «Существующие подключения»:
В открывшемся диалоговом окне выбираем «Подключения в этой книге» — «Запрос из Excel Files» и нажимаем «Открыть»:
В открывшемся диалоговом окне устанавливаем переключатели в положения «Таблица» и «Имеющийся лист», нажимаем «ОК»:
В активном листе будет создана таблица, которая будет объединять таблицы, расположенные на указанных нами листах:
Теперь все таблицы связаны. Добавьте новые строчки в любую из объединенных таблиц. Перейдите во вкладку «Данные» и нажмите кнопку «Обновить все»:
В итоговой таблице появятся строчки, добавленные в выбранный вами лист.
Чтобы обновление итоговой таблицы происходило автоматически вставьте в модуль каждого листа (кроме Итогового) следующий код (Как вставлять макросы?):
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.RefreshAll
End Sub
Видео-пример
Важно:
- Количество столбцов во всех таблицах должно быть одинаково;
- Кроме таблиц на листах не должно быть никакой информации;
- Если вы переместили файл в другую папку или отправили файл коллеге по электронной почте — необходимо заново связать таблицы (в запросе прописывается абсолютный путь к файлу).
Чтобы запрос работал не зависимо от того в какой папке лежит файл вставьте в модуль «ЭтаКнига» следующий код:
Private Sub Workbook_Open()
Dim q As String
On Error Resume Next
q = Application.ThisWorkbook.Path & "" & Application.ThisWorkbook.Name 'Определяем текущий путь к файлу
With ActiveWorkbook.Connections("Запрос из Excel Files").ODBCConnection 'Имя запроса
.Connection = "ODBC;DSN=Excel Files;DBQ=" & q & _
";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;" 'Меняем строку подключения
End With
End Sub
Данный макрос при открытии книги будет определять текущий путь к файлу и менять путь к файлу в запросе.
| Файл | Описание | Размер файла: | Скачивания |
|---|---|---|---|
| 21 Кб | 2784 |
Чтобы оценить всю прелесть — выньте файл из архива и при загрузке файла включите макросы.
Возможные ошибки при использовании этого метода:
- В таблицах одинаковое количество столбцов, но при попытке использовать запрос получаем сообщение: «В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов.» Причина: в одном или нескольких листах с таблицами есть пустые столбцы (в них раньше были данные) и MS Excel считает их столбцами таблиц. Решение: Выделить и удалить все пустые столбцы на листах с таблицами.
- Все столбцы удалили, но ошибка осталась. Причина: файл сохранен на сетевом диске или открыт из почтовой программы. Решение: сохраните файл у себя на локальном компьютере, выполните запрос, вставьте в него макрос меняющий путь в запросе и выложите обратно в сеть (если нужно).
- В полученном запросе в некоторых ячейках пропадают данные. Причина: в ваших таблицах встречаются столбцы, которые одновременно содержатся и числовые и текстовые значения. MS Excel считает, что эти столбцы должны содержать только числа и не выводит текст. Решение: преобразуйте все числовые значения в этих столбцах во всех таблицах в текстовые. Обновите запрос — текстовые данные появятся.
Добавить комментарий
Как часто, работая с данными, вам удается уместить всю необходимую для анализа информацию в одну таблицу? Скорее всего, никогда.
Чаще всего, нужные нам данные находятся в разных файлах и мы сталкиваемся с необходимостью сопоставить или объединить их из нескольких таблиц в одну.
В этой статье мы рассмотрим наиболее эффективные способы как это сделать.
Как объединить две таблицы Excel с помощью функции ВПР
Если вы хотите сопоставить две таблицы по данным из одного столбца, то тут лучше всего подойдет функция ВПР.
Представим, у нас есть две таблицы. В основной таблице у нас есть данные с наименованиями товаров, продавцов и количестве продаж, а во второй с ценами на эти товары. Мы хотим подставить данные с ценами на товары в таблицу с данными о продажах и посчитать выручку на каждого из продавцов.
Для этого в ячейку D2 вставим формулу с функцией ВПР:
- B2 – ячейка с названием товара, которое мы ищем в таблице с ценами;
- $G$2:$H$4 – диапазон ячеек таблицы с наименованием товаров и ценами. В столбце G содержатся названия товаров, по которым функция осуществляет поиск. В столбце H отражены цены, которые функция ВПР будет подставлять в нашу таблицу. Диапазон ячеек включает в себя значки $, с их помощью диапазон зафиксирован и не будет изменяться при протягивании формулы по другим ячейкам.
- 2 – номер столбца в диапазоне данных с ценами на товары, которые мы хотим подставить в нашу таблицу.
- 0 – точность совпадения данных. Ставим “0”, так как нам необходимо точное совпадение.
Протянем полученную формулу на все строки столбца и получим таблицу с расчетом выручки по каждому товару, для каждого продавца.
Консолидация данных в программе Microsoft Excel
При работе с однотипными данными, размещенными в разных таблицах, листах или даже книгах, для удобства восприятия лучше собрать информацию воедино. В Microsoft Excel с этой задачей можно справиться с помощью специального инструмента, который называется «Консолидация». Он предоставляет возможность собрать разрозненные данные в одну таблицу. Давайте узнаем, как это делается.
Условия для выполнения процедуры консолидации
Естественно, что не все таблицы можно консолидировать в одну, а только те, которые соответствуют определенным условиям:
- столбцы во всех таблицах должны иметь одинаковое название (допускается лишь перестановка столбцов местами);
- не должно быть столбцов или строк с пустыми значениями;
- шаблоны у таблиц должны быть одинаковыми.
Создание консолидированной таблицы
Рассмотрим, как создать консолидированную таблицу на примере трех таблиц, имеющих одинаковый шаблон и структуру данных. Каждая из них расположена на отдельном листе, хотя по такому же алгоритму можно создать консолидированную таблицу из данных расположенных в разных книгах (файлах).
- Открываем отдельный лист для консолидированной таблицы.
В поле «Функция» требуется установить, какое действие с ячейками будет выполняться при совпадении строк и столбцов. Это могут быть следующие действия:
- сумма;
- количество;
- среднее;
- максимум;
- минимум;
- произведение;
- количество чисел;
- смещенное отклонение;
- несмещенное отклонение;
- смещенная дисперсия;
- несмещенная дисперсия.
Как видим, после этого диапазон добавляется в список.
Аналогичным образом, добавляем все другие диапазоны, которые будут участвовать в процессе консолидации данных.
Для того, чтобы автоматически добавить название столбцов в шапку, ставим галочку около параметра «Подписи верхней строки». Для того, чтобы производилось суммирование данных устанавливаем галочку около параметра «Значения левого столбца». Если вы хотите, чтобы при обновлении данных в первичных таблицах обновлялась также и вся информация в консолидированной таблице, то обязательно следует установить галочку около параметра «Создавать связи с исходными данными». Но, в этом случае нужно учесть, что, если вы захотите в исходную таблицу добавить новые строки, то придется снять галочку с данного пункта и пересчитать значения вручную.
Как видим, консолидация данных в Эксель является очень удобным инструментом, благодаря которому можно собрать воедино информацию расположенную не только в разных таблицах и на разных листах, но даже размещенную в других файлах (книгах). Делается это относительно просто и быстро.

Как объединить файлы Excel и таблицы
При работе с несколькими файлами Microsoft Excel иногда необходимо объединить файлы и таблицы Excel в новый или существующий файл Excel или объедините несколько файлов Excel в один файл. Хотя вы всегда можете скопировать и вставить данные с одного листа на другой или из одного файла в другой, это утомительно, когда их слишком много. В этом посте мы расскажем, как их можно объединить с помощью встроенной функции.
Как объединить файлы и таблицы Excel
Прежде чем приступить к объединению файлов и листов, хорошо спланируйте это. Хотя вы всегда можете переставить листы позже, чем лучше вы планируете, тем меньше часов вы потратите на их сортировку после объединения.
- Объединить таблицы в новый или существующий файл
- Объединить несколько файлов Excel
Хотя функции, которые мы здесь будем использовать, позволят вам перемещать листы, я рекомендую копировать. Если вам снова понадобится исходный файл, у вас будет выбор.
Объединить таблицы в новый или существующий файл
Прежде чем мы начнем слияние, убедитесь, что у вас открыты все файлы Excel. Только когда они открыты, функция слияния Excel может выбрать их в качестве места назначения. Если вы планируете переместить листы из нескольких файлов в новый файл Excel, вы также можете это сделать.
- Откройте исходный файл Excel и переключитесь на лист, который вы хотите скопировать.
- Щелкните вкладку «Главная»> раздел «Ячейки»> «Формат»> «Переместить или скопировать лист».
- Откроется всплывающее окно, в котором вы можете выбрать существующий файл Excel или создать новый файл на ходу.
- Когда ты выберите новый вариант файла, он мгновенно создаст новый файл, но не сохранит его.
- Когда ты выберите существующий файл, у вас есть возможность выбрать, куда будет вставлен лист, т. е. до или после существующих листов или в конце всех листов.
Вы также можете перейти в существующий файл, что удобно, если листов слишком много, и вам нужно вставить лист где-то между ними или переместить его в конец.
Если вы хотите переместить несколько листов в другой файл Excel, то перед использованием «Переместите или скопируйте лист » выберите листы с помощью Ctrl или Shift. В то время как Shift позволяет вам выбирать соседние листы или диапазон листов, Ctrl позволяет вам выбирать отдельные листы. Остальные шаги такие же. Вы можете использовать это для ручного слияния файлов Excel.
Объединить несколько файлов Excel
Слияние файлов Excel — сложная вещь, и для этого мы будем использовать код VBA из ExtendOffice. Это позволит вам объединить несколько файлов или книг, доступных в папке.
- Создайте новую электронную таблицу Excel и нажмите ALT + F11, чтобы открыть раздел разработчика.
- Щелкните меню «Вставка», а затем «Модуль»
- Вставьте код, указанный ниже. Назовите модуль MergeExcel
Затем нажмите Alt + F8 открыть Макрос диалог. Это покажет все макросы на листе. Выбирать MergeExcel и нажмите Пробег. Вам будет предложено сохранить файлы, обязательно сделайте это. После этого все листы из разных файлов Excel станут доступны в файле Excel, в котором вы запускали макрос. На веб-сайте ExtendOffice есть много таких макросов, и я настоятельно рекомендую посетить их по адресу extendoffice.com.
Тем не менее, это не будет гладким опытом с первой попытки. Будьте уверены, что он не удалит какие-либо файлы, но я бы посоветовал сохранить резервную копию файлов. Поэкспериментируйте со случайными данными и проверьте, получаете ли вы желаемый результат с помощью макроса.
Мы надеемся, что руководство было легким для понимания, и вы можете объединить файлы Excel и таблицы.
Иногда нужные данные Microsoft Excel разбиваются на несколько листов или даже файлов. Может быть намного удобнее хранить всю эту информацию в одном документе.
Вы можете скопировать и вставить нужные ячейки в крайнем случае, разместив их все на одном листе. Однако, в зависимости от того, с каким объемом данных вы работаете, это может занять много времени и усилий.
Вместо этого рассмотрите несколько более разумных способов решения той же задачи. Эти методы могут просто позволить вам пропустить часть напряженной работы, когда дело доходит до объединения листов или файлов в Excel.
В Excel легко объединить несколько листов в новую книгу. Объедините листы, создав новую книгу:
- Откройте листы, которые хотите объединить.
- Щелкните Главная > Формат > Переместить или скопировать лист .
- В раскрывающемся меню выберите (новая книга) .
- Щелкните ОК .
Как объединить листы в Excel в один файл
Самый простой способ объединить листы в Excel – использовать команду « Переместить» или «Копировать лист» . Этот метод объединения листов в Excel имеет свои ограничения, но он быстрый и простой.
Сначала откройте листы, которые хотите объединить в одну книгу. Оттуда:
- Направляйтесь домой
- Щелкните Форматировать
- Выберите переместить или скопировать лист
Вы должны увидеть элементы управления, указывающие, куда переместить выбранные листы и порядок этих листов.
В раскрывающемся списке выберите (новая книга) . Это будет основная электронная таблица, куда вы отправите все свои отдельные листы. Вы можете использовать поле Перед листом, чтобы указать порядок расположения листов.
Повторите этот процесс с остальными листами, которые хотите объединить. Затем сохраните новый составной документ.
Объединить данные Excel на один лист
Иногда вам может понадобиться взять несколько наборов данных и представить их на одном листе. Это довольно легко сделать в Excel, если вы заранее позаботитесь о том, чтобы ваши данные были правильно отформатированы .
Для правильной работы этого процесса есть два важных условия. Во-первых, объединяемые листы должны иметь точно такой же макет, с идентичными заголовками и типами данных. Во-вторых, не может быть пустых строк или столбцов.
Когда вы разместите свои данные в соответствии с этими спецификациями, создайте новый рабочий лист. Можно запустить процедуру консолидации на существующем листе, где уже есть данные, но этого проще не делать.
На этом новом листе перейдите на вкладку « Данные » и нажмите « Консолидировать» . В раскрывающемся списке выберите « Сумма», а затем нажмите кнопку в поле « Ссылка», чтобы открыть электронную таблицу и выбрать нужные данные.
Чтобы добавить следующий набор данных, нажмите « Добавить», а затем таким же образом выберите данные. Сделайте это для всех наборов данных, которые вы хотите объединить. Вы даже можете рисовать из других книг, используя кнопку « Обзор» , которая в версии Excel для Mac является « Выбрать» .
Установите флажок « Создать ссылки на исходные данные», если вы собираетесь продолжать обновлять данные на других листах и хотите, чтобы этот лист отражал это. Вы также можете выбрать, какие метки переносятся, с помощью флажков Использовать метки в флажках, как показано выше.
Наконец, нажмите ОК .
К сожалению, этот процесс не подходит для объединения двух листов Excel, если вы хотите объединить ячейки с текстом в них. Работает только с числовыми данными. В ситуации, связанной с текстом, вам нужно будет использовать VBA для объединения листов Excel.
Как объединить таблицы Excel с VBA
Если вы хотите мгновенно объединить листы в Excel из нескольких книг, лучший способ – написать простой макрос VBA. Это будет особенно удобно, если вы будете выполнять эту задачу регулярно.
Во-первых, убедитесь, что все файлы, которые вы хотите объединить, находятся в одной папке на вашем компьютере. Затем создайте новую электронную таблицу Excel, которая объединит их всех.
Перейдите на вкладку Разработчик и выберите Visual Basic . Щелкните Вставить> Модуль .
Чтобы узнать, как объединить два листа Excel с помощью макроса VBA, мы проконсультировались с ExtendOffice . Скопируйте и вставьте следующий код:
Sub GetSheets()
Path = "C:[PATH TO FILES]"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Не забудьте изменить путь к месту хранения файлов на вашем компьютере.
Затем сохраните книгу как файл XLSM, чтобы включить макросы. Затем запустите макрос, и вы должны обнаружить, что у вас есть одна книга, содержащая все листы из всех файлов в папке.
Связанный: Как копировать формулы в Microsoft Excel
Будьте осторожны перед объединением данных Excel
Объединение листов и файлов в Excel может быть сложным и беспорядочным. Это проливает свет на один из самых важных уроков о Microsoft Excel: всегда хорошо планировать заранее.
Слияние разных наборов данных постфактум всегда вызывает несколько головных болей, особенно если вы работаете с большими электронными таблицами, которые использовались долгое время. Когда вы начинаете работать с новой книгой, лучше всего рассмотреть все возможности того, как вы будете использовать файл в дальнейшем.
Excel отлично подходит для создания документов, к которым вы можете обращаться и использовать в течение длительного периода времени, но решения, принятые на раннем этапе, могут вызвать или предотвратить проблемы позже. Как говорится, унция профилактики.





























































































