Как собрать информацию в excel с разных файлов

Постановка задачи

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

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

Файлы для сборки

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

Данные в книгах

Количество строк (заказов) в таблицах, само-собой, разное, но набор столбцов везде стандартный.

Задача: собрать данные из всех файлов в одну книгу с последующим автоматическим обновлением при добавлении-удалении файлов-городов или строк в таблицах. По итоговой консолидированной таблице затем можно будет строить любые отчеты, сводные таблицы, фильтровать-сортировать данные и т.д. Главное — суметь собрать.

Подбираем оружие

Для решения нам потребуется последняя версия Excel 2016 (в нее нужный функционал уже встроен по умолчанию) или предыдущие версии Excel 2010-2013 с установленной бесплатной надстройкой Power Query от Microsoft (скачать ее можно здесь). Power Query — это супергибкий и супермощный инструмент для загрузки в Excel данных из внешнего мира с последующей их зачисткой и обработкой. Power Query поддерживает практически все существующие источники данных — от текстовых файлов до SQL и даже Facebook :)

Если у вас нет Excel 2013 или 2016, то дальше можно не читать (шучу). В более древних версиях Excel подобную задачу можно реализовать только программированием макроса на Visual Basic (что весьма непросто для начинающих) или монотонным ручным копированием (что долго и порождает ошибки).

Шаг 1. Импортируем один файл как образец

Для начала давайте импортируем данные из одной книги в качестве примера, чтобы Excel «подхватил идею». Для этого создайте новую пустую книгу и…

  • если у вас Excel 2016, то откройте вкладку Данные и выберите Создать запрос — Из файла — Из книги (Data — New Query- From file — From Excel)
  • если у вас Excel 2010-2013 с установленной надстройкой Power Query, то откройте вкладку Power Query и выберите на ней Из файла — Из книги (From file — From Excel)

Затем в открывшемся окне переходим в нашу папку с отчетами и выбираем любой из файлов-городов (не играет роли какой именно, т.к. они все типовые). Через пару секунд должно появиться окно Навигатор, где нужно в левой части выбрать требуемый нам лист (Продажи), а в правой отобразится его содержимое:

Навигатор Power Query

Если нажать в правом нижнем углу этого окна кнопку Загрузить (Load), то таблица будет сразу импортирована на лист в исходном виде. Для одиночного файла — это хорошо, но нам нужно загрузить много таких файлов, поэтому мы пойдем немного другим путем и жмем кнопку Правка (Edit). После этого должен в отдельном окне отобразиться редактор запросов Power Query с нашими данными из книги:

Редактор запросов Power Query

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

  • отфильтровывать ненужные данные, пустые строки, строки с ошибками
  • сортировать данные по одному или нескольким столбцам
  • избавляться от повторов
  • делить слипшийся текст по столбцам (по разделителям, количеству символов и т.д.)
  • приводить текст в порядок (удалять лишние пробелы, исправлять регистр и т.д.)
  • всячески преобразовывать типы данных (превращать числа как текст в нормальные числа и наоборот)
  • транспонировать (поворачивать) таблицы и разворачивать двумерные кросс-таблицы в плоские
  • добавлять к таблице дополнительные столбцы и использовать в них формулы и функции на встроенном в Power Query языке М.

Для примера, давайте добавим к нашей таблице столбец с текстовым названием месяца, чтобы потом проще было строить отчеты сводных таблиц. Для этого щелкните правой кнопкой мыши по заголовку столбца Дата и выберите команду Дублировать столбец (Duplicate Column), а затем щелкните правой кнопкой мыши по заголовку появившегося столбца-дубликата и выберите команды Преобразование — Месяц — Название месяца:

Добавление столбца с месяцем

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

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

Преобразование форматов данных в столбцах

Исключить строки с ошибками или пустые строки, а также ненужных менеджеров или заказчиков можно с помощью простого фильтра:

Фильтрация данных в Power Query

Причем все выполненные преобразования фиксируются в правой панели, где их всегда можно откатить (крестик) или изменить их параметры (шестеренка):

Шаги преобразований

Легко и изящно, не правда ли?

Шаг 2. Преобразуем наш запрос в функцию

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

В редакторе запросов перейдите на вкладку Просмотр и нажмите кнопку Расширенный редактор (View — Advanced Editor). Должно открыться окно, где все наши предыдущие действия будут записаны в виде кода на языке М. Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера:

Исходный код

Теперь аккуратно вносим пару правок:

Измененный код

Смысл их прост: первая строка (filepath)=> превращает нашу процедуру в функцию с аргументом filepath, а ниже мы меняем фиксированный путь на значение этой переменной. 

Все. Жмем на Готово и должны увидеть вот это:

Созданная функция

Не пугайтесь, что пропали данные — на самом деле все ОК, все так и должно выглядеть :) Мы успешно создали нашу пользовательскую функцию, где запомнился весь алгоритм импорта и обработки данных без привязки к конкретному файлу. Осталось дать ей более понятное имя (например getData) на панели справа в поле Имя и можно жать Главная — Закрыть и загрузить (Home — Close and Load). Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера.. Вы вернетесь в основное окно Microsoft Excel, но справа должна появиться панель с созданным подключением к нашей функции:

Подключение к функции

Шаг 3. Собираем все файлы

Все самое сложное — позади, осталась приятная и легкая часть. Идем на вкладку Данные — Создать запрос — Из файла — Из папки (Data — New Query — From file — From folder) или, если у вас Excel 2010-2013, аналогично на вкладку Power Query. В появившемся окне указываем папку, где лежат все наши исходные файлы-города и жмем ОК. Следующим шагом должно открыться окно, где будут перечислены все найденные в этой папке (и ее подпапках) файлы Excel и детализация по каждому из них:

Импорт всех файлов Excel из заданной папки

Жмем Изменить (Edit) и опять попадаем в знакомое окно редактора запросов.

Теперь нужно добавить к нашей таблице еще один столбец с нашей созданной функцией, которая «вытянет» данные из каждого файла. Для этого идем на вкладку Добавить столбец — Пользовательский столбец (Add Column — Add Custom Column) и в появившемся окне вводим нашу функцию getData, указав для ее в качестве аргумента полный путь к каждому файлу:

Дополнительный столбец

После нажатия на ОК созданный столбец должен добавиться к нашей таблице справа.

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

А теперь «вау-момент» — щелкнем мышью по значку со своенным стрелками в правом верхнем углу добавленного столбца с нашей функцией:

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

… снимаем флажок Использовать исходное имя столбца как префикс (Use original column name as prefix)и жмем ОК. И наша функция подгрузит и обработает данные из каждого файла, следуя записанному алгоритму и собрав все в общую таблицу:

Собранные данные

Для полной красоты можно еще убрать расширения .xlsx из первого столбца с именами файлов — стандартной заменой на «ничего» (правой кнопкой мыши по заголовку столбца — Заменить) и переименовать этот столбец в Город. А также подправить формат данных в столбце с датой.

Все! Жмем на Главной — Закрыть и загрузить (Home — Close & Load). Все собранные запросом данные по всем городам будут выгружены на текущий лист Excel в формате «умной таблицы»:

Собранные данные

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

В будущем, при любых изменениях в папке (добавлении-удалении городов) или в файлах (изменение количества строк) достаточно будет щелкнуть правой кнопкой мыши прямо по таблице или по запросу в правой панели и выбрать команду Обновить (Refresh) — Power Query «пересоберет» все данные заново за несколько секунд.

P.S.

Поправка. После январских обновлений 2017 года Power Query научился собирать Excel’евские книги сам, т.е. не нужно больше делать отдельную функцию — это происходит автоматически. Таким образом второй шаг из этой статьи уже не нужен и весь процесс становится заметно проще:

  1. Выбрать Создать запрос — Из файла — Из папки — Выбрать папку — ОК
  2. После появления списка файлов нажать Изменить
  3. В окне редактора запросов развернуть двойной стрелкой столбец Binary и выбрать имя листа, который нужно взять из каждого файла

И все! Песня!

Ссылки по теме

  • Редизайн кросс-таблицы в плоскую, подходящую для построения сводных таблиц
  • Построение анимированной пузырьковой диаграммы в Power View
  • Макрос для сборки листов из разных файлов Excel в один

Время прочтения: 3 мин.

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

Решить данную задачу поможет Power Query – встроенный в MS Excel инструмент обработки данных.

Рассмотрим пример объединения файлов с общей «шапкой» и данными на разных листах:

  1. Импортируем файлы («Данные» → «Создать запрос» → «Из файла» → «Из папки») и указываем путь:

2. Power Query покажет все файлы, размещенные по указанному адресу:

3. Нажимаем «изменить», переходим в редактор запросов и фильтруем нужные файлы:

4. Удаляем все столбцы кроме «Content»:

5. Добавляем новый столбец и вводим формулу с учетом регистра:

6. Раскрываем столбец «Пользовательская», снимаем флажок «Использовать исходное имя…».

Если есть предупреждение о незавершенном списке, то жмем «загрузить ещё»:

7. Удаляем столбцы кроме «Data», раскрываем его. Если есть предупреждение, то жмем «загрузить ещё»:

8. Power Query отразит сводные данные:

9. Ставим первую строку как заголовок: «Главная» → «Использовать первую строку…»:

10. Скрываем фильтром лишние заголовки и выгружаем данные на новый/существующий лист:

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

Таким образом, Power Query позволяет решать широкий спектр задач без использования сложных запросов и формул, что делает его универсальным инструментом для обработки данных и повышения эффективности работы.

Как часто, работая с данными, вам удается уместить всю необходимую для анализа информацию в одну таблицу? Скорее всего, никогда.

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

В этой статье мы рассмотрим наиболее эффективные способы как это сделать.

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

Если вы хотите сопоставить две таблицы по данным из одного столбца, то тут лучше всего подойдет функция ВПР.

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

Как объединить две таблицы Excel в одну

Для этого в ячейку D2 вставим формулу с функцией ВПР:

  • B2 – ячейка с названием товара, которое мы ищем в таблице с ценами;
  • $G$2:$H$4 – диапазон ячеек таблицы с наименованием товаров и ценами. В столбце G содержатся названия товаров, по которым функция осуществляет поиск. В столбце H отражены цены, которые функция ВПР будет подставлять в нашу таблицу. Диапазон ячеек включает в себя значки $, с их помощью диапазон зафиксирован и не будет изменяться при протягивании формулы по другим ячейкам.
  • 2 – номер столбца в диапазоне данных с ценами на товары, которые мы хотим подставить в нашу таблицу.
  • 0 – точность совпадения данных. Ставим “0”, так как нам необходимо точное совпадение.

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

Консолидация данных в программе Microsoft Excel

Консолидация в Microsoft Excel

При работе с однотипными данными, размещенными в разных таблицах, листах или даже книгах, для удобства восприятия лучше собрать информацию воедино. В Microsoft Excel с этой задачей можно справиться с помощью специального инструмента, который называется «Консолидация». Он предоставляет возможность собрать разрозненные данные в одну таблицу. Давайте узнаем, как это делается.

Условия для выполнения процедуры консолидации

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

    • столбцы во всех таблицах должны иметь одинаковое название (допускается лишь перестановка столбцов местами);
    • не должно быть столбцов или строк с пустыми значениями;
    • шаблоны у таблиц должны быть одинаковыми.

    Создание консолидированной таблицы

    Рассмотрим, как создать консолидированную таблицу на примере трех таблиц, имеющих одинаковый шаблон и структуру данных. Каждая из них расположена на отдельном листе, хотя по такому же алгоритму можно создать консолидированную таблицу из данных расположенных в разных книгах (файлах).

      Открываем отдельный лист для консолидированной таблицы.

    Добавление нового листа в Microsoft Excel

    Переход к консолидации данных в Microsoft Excel

    Настройки консолидации в Microsoft Excel

    В поле «Функция» требуется установить, какое действие с ячейками будет выполняться при совпадении строк и столбцов. Это могут быть следующие действия:

    • сумма;
    • количество;
    • среднее;
    • максимум;
    • минимум;
    • произведение;
    • количество чисел;
    • смещенное отклонение;
    • несмещенное отклонение;
    • смещенная дисперсия;
    • несмещенная дисперсия.

    Выбор функции для консолидации в Microsoft Excel

    Переход к выбору диапазона для консолидации в Microsoft Excel

    Выбор диапазона для консолидации в Microsoft Excel

    Добавление диапазона в Microsoft Excel

    Как видим, после этого диапазон добавляется в список.

    Диапазон добавлен в Microsoft Excel

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

    Все диапазоны добавлены для консолидации в Microsoft Excel

    Выбор файла для консолидации в Microsoft Excel

    Для того, чтобы автоматически добавить название столбцов в шапку, ставим галочку около параметра «Подписи верхней строки». Для того, чтобы производилось суммирование данных устанавливаем галочку около параметра «Значения левого столбца». Если вы хотите, чтобы при обновлении данных в первичных таблицах обновлялась также и вся информация в консолидированной таблице, то обязательно следует установить галочку около параметра «Создавать связи с исходными данными». Но, в этом случае нужно учесть, что, если вы захотите в исходную таблицу добавить новые строки, то придется снять галочку с данного пункта и пересчитать значения вручную.

    Установка настроек для консолидации в Microsoft Excel

    Просмотр содержимого группы консолидированной таблицы в Microsoft Excel

    Содержимое группы группы консолидированной таблицы в Microsoft Excel

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

    ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

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

    При работе с несколькими файлами Microsoft Excel иногда необходимо объединить файлы и таблицы Excel в новый или существующий файл Excel или объедините несколько файлов Excel в один файл. Хотя вы всегда можете скопировать и вставить данные с одного листа на другой или из одного файла в другой, это утомительно, когда их слишком много. В этом посте мы расскажем, как их можно объединить с помощью встроенной функции.

    Объединение файлов и таблиц Excel

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

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

    1. Объединить таблицы в новый или существующий файл
    2. Объединить несколько файлов Excel

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

    Объединить таблицы в новый или существующий файл

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

    • Откройте исходный файл Excel и переключитесь на лист, который вы хотите скопировать.
    • Щелкните вкладку «Главная»> раздел «Ячейки»> «Формат»> «Переместить или скопировать лист».
    • Откроется всплывающее окно, в котором вы можете выбрать существующий файл Excel или создать новый файл на ходу.
      • Когда ты выберите новый вариант файла, он мгновенно создаст новый файл, но не сохранит его.
      • Когда ты выберите существующий файл, у вас есть возможность выбрать, куда будет вставлен лист, т. е. до или после существующих листов или в конце всех листов.

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

      Если вы хотите переместить несколько листов в другой файл Excel, то перед использованием «Переместите или скопируйте лист » выберите листы с помощью Ctrl или Shift. В то время как Shift позволяет вам выбирать соседние листы или диапазон листов, Ctrl позволяет вам выбирать отдельные листы. Остальные шаги такие же. Вы можете использовать это для ручного слияния файлов Excel.

      Объединить несколько файлов Excel

      Макрос MergeExcel

      Слияние файлов Excel — сложная вещь, и для этого мы будем использовать код VBA из ExtendOffice. Это позволит вам объединить несколько файлов или книг, доступных в папке.

      • Создайте новую электронную таблицу Excel и нажмите ALT + F11, чтобы открыть раздел разработчика.
      • Щелкните меню «Вставка», а затем «Модуль»
      • Вставьте код, указанный ниже. Назовите модуль MergeExcel

      Затем нажмите Alt + F8 открыть Макрос диалог. Это покажет все макросы на листе. Выбирать MergeExcel и нажмите Пробег. Вам будет предложено сохранить файлы, обязательно сделайте это. После этого все листы из разных файлов Excel станут доступны в файле Excel, в котором вы запускали макрос. На веб-сайте ExtendOffice есть много таких макросов, и я настоятельно рекомендую посетить их по адресу extendoffice.com.

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

      Мы надеемся, что руководство было легким для понимания, и вы можете объединить файлы Excel и таблицы.

    Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

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

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

    Примечание.    В этой теме показано, как объединять файлы из папки. Вы также можете объединять файлы, хранимые в SharePoint, azure BLOB-служба хранилища и Azure Data Lake служба хранилища. Процесс аналогичный.

    Не изумять:

    • Убедитесь, что все файлы, которые вы хотите объединить, содержатся в выделенной папке без лишних файлов. В противном случае все файлы в папке и все вложенные папки, которые вы выбрали, будут включены в данные для совместной обработки.

    • У каждого файла должна быть та же схема, что и для согласованных столбцов, типов данных и количества столбцов. Столбцы не должны быть в том же порядке, что и имена столбцов.

    • По возможности старайтесь не использовать несвязанные объекты данных для источников данных, которые могут иметь несколько объектов данных, например JSON-файл, Excel книгу или базу данных Access.

    Каждый из этих файлов имеет простой шаблон, в каждом из которых есть только одна таблица данных.

    1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

    2. Найдите папку с файлами, которые вы хотите объединить.

    3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

      Пример диалогового окна импорта текста

    4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Загрузить. В разделе Обо всех этих командах обсуждаются дополнительные команды.

    5. Если выбрать команду Объединить, появится диалоговое окно Объединение файлов. Чтобы изменить параметры файла, выберите каждый файл в поле Образец файла, задав нужные параметры Источник файла,Делитер и Обнаружение типов данных. Кроме того, в нижней части диалогового окна можно выбрать или отобрать диалоговое окно Пропускать файлы с ошибками.

    6. Нажмите кнопку ОК.

    Результат

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

    1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

    2. Найдите папку с файлами, которые вы хотите объединить.

    3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

    4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Transform. В разделе Обо всех этих командах обсуждаются дополнительные команды.

      Появится редактор Power Query.

    5. Столбец Значение является структурированным столбцом списка. Выберите значок Развернуть Значок развертывания столбца , а затем выберите Развернуть до новых строк.

      Расширение списка JSON

    6. Столбец Value (Значение) теперь является структурированным столбцом Record (Запись).  Выберите значок Значок развертывания столбца развернуть. Появится диалоговое окно с drop-down.

      Расширение записи JSON

    7. Не избирать все столбцы. Возможно, вам нужно будет очистить поле Использовать имя исходного столбца в качестве префикса. Нажмите кнопку ОК.

    8. Вы можете выбрать все столбцы, содержащие значения данных. На лентевыберите Главная , стрелку рядом с клавишей Remove Columns, а затем выберите Удалить другие столбцы.

    9. Выберите Главная> закрыть & загрузить.

    Результат

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

    Каждый из этих источников данных может иметь несколько объектов для импорта. Книга Excel может иметь несколько книг, Excel таблиц или именовых диапазонов. База данных Access может иметь несколько таблиц и запросов. 

    1. Выберите Данные > Получить данные > из файла > из папки. Появится диалоговое окно Обзор.

    2. Найдите папку с файлами, которые вы хотите объединить.

    3. Список файлов в папке появится в диалоговом <путь к> папке. Убедитесь, что в списке указаны все нужные файлы.

    4. Выберите одну из команд в нижней части диалогового окна, например Объединить> Объединить & Загрузить. В разделе Обо всех этих командах обсуждаются дополнительные команды.

    5. В диалоговом окне Объединение файлов:

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

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

      • В нижней части диалогового окна можно выбрать или отобирать для файлов с ошибками поле Пропускать файлы с ошибками.

    6. Нажмите кнопку ОК.

    Результат

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

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

    1. Выберите data > Get Data > Data > From File > From Folder. Появится диалоговое окно Обзор.

    2. Найдите папку с файлами, которые вы хотите объединить, и выберите открыть.

    3. Список всех файлов в папке и вложенных папках появится в диалоговом<путь>папки. Убедитесь, что в списке указаны все нужные файлы.

    4. Внизу выберите преобразовать данные. Откроется редактор Power Query со всеми файлами в папке и во вложенных папках.

    5. Чтобы выбрать нужные файлы, отфильтруем столбцы, например Расширение или Путь к папке.

    6. Чтобы объединить файлы в одну таблицу, выберите столбец Содержимое, содержащий каждый двоичный (обычно первый столбец), а затем выберите Главная > Объединить файлы. Появится диалоговое окно Объединение файлов.

    7. Power Query анализирует пример файла (по умолчанию первый файл в списке), чтобы использовать правильный соединительщик и определить совпадающие столбцы.

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

    8. При желании внизу выберите пропустить файлы с ошибкой s,чтобы исключить эти файлы из результата.

    9. Нажмите кнопку ОК.

    Результат

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

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

    • Объединение и преобразование данных    Чтобы объединить все файлы с запросом, а затем запустить редактор Power Query, выберите объединить> объединить и преобразовать данные.

    • Объединение и загрузка   Чтобы отобразить диалоговое окно Образец файла, создайте запрос, а затем загрузите на таблицу, выберите объединить> Объединить и загрузить.

    • Объединение и загрузка в   Чтобы отобразить диалоговое окно Образец файла, создайте запрос, а затем в диалоговом окне Импорт выберите объединить> Объединить и загрузить в.

    • Нагрузки    Чтобы создать запрос с одним шагом, а затем загрузить на таблицу, выберите загрузить > загрузить.

    • Загрузить в   Чтобы создать запрос одним шагом и отобразить диалоговое окно Импорт, выберите загрузить > Загрузить в.

    • Преобразование данныхЧтобы создать запрос с одним шагом и запустить редактор Power Query, выберите Преобразовать данные.

    Тем не менее при объединения файлов в области Запросы в группе «Запросы-справки» создается несколько вспомогательных запросов.

    Список запросов, созданных в области "Запросы"

    • Power Query создает запрос «Образец файла» на основе примера запроса.

    • Запрос функции Transform File (Файл преобразования) использует запрос Parameter1 для указания каждого файла (двоичного) в качестве входного в запрос «Образец файла». Этот запрос также создает столбец Содержимое, содержащий содержимое файла, и автоматически расширяет его, чтобы добавить данные столбца в результаты. Запросы «Преобразовать файл» и «Образец файла» связаны, поэтому изменения в запросе «Образец файла» отражаются в запросе «Преобразовать файл».

    • Запрос, содержащий окончательные результаты, находится в группе «Другие запросы». По умолчанию он называется папкой, из которого вы импортировали файлы.

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

    Чтобы начать процесс объединения нескольких файлов, сначала поместите их все в одну папку.

    Примечание: Поддерживаются файлы Excel и Access, текстовые файлы, а также файлы в форматах CSV, JSON и XML.

    1. На вкладке Power Query выберите из файла > из папки.

      Power Query > параметры "Из > из папки"

    2. Нажмите кнопку Обзор, чтобы перейти к нужной папке.

      Появится список файлов в папке. Нажмите кнопку Изменить, чтобы открыть редактор запросов. В этом примере мы загрузим четыре книги Excel.

      Диалоговое окно объединения двоичных файлов, в котором показаны файлы, доступные для объединения

    3. Убедившись в том, что все нужные файлы присутствуют в списке, нажмите в столбце Содержимое кнопку Объединить двоичные данные.

      Нажмите кнопку "Объединить двоичные данные" в столбце "Содержимое" или в разделе "Объединить" на ленте Power Query.

    4. Будет выполнен анализ каждого файла и определен правильный формат, например текстовый, Excel или JSON. В этом примере отображается список листов из первой книги Excel. Выберите нужный лист и нажмите кнопку ОК.

      Диалоговое окно объединения двоичных файлов, в котором показаны листы Excel, доступные для выбора в качестве основной цели для размещения объединенных данных

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

      Диалоговое окно для предварительного просмотра результатов объединения. Нажмите "Закрыть и загрузить", чтобы принять результаты и импортировать их в Excel.

      Когда процесс объединения двоичных файлов завершится, данные листов из списка будут консолидированы на одном листе.

    6. Если исходные файлы данных изменятся, вы всегда сможете обновить импортируемые данные. Щелкните в любом месте диапазона данных, а затем перейдите в инструменты запросов > обновить. Кроме того, вы можете легко применить дополнительные шаги преобразования или извлечения, изменяя автоматически созданный запрос-образец, не беспокоясь об изменении или создании дополнительных шагов запроса функций. любые изменения запроса-образец автоматически создаются в связанном запросе функции.

    Известные проблемы

    При загрузке процедуры объединения двоичных файлов в Excel может появиться такое сообщение об ошибке:

    Сообщение об ошибке при объединении двоичных файлов. Это известная ошибка, которая будет устранена.

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

    См. также

    Справка по Power Query для Excel

    Добавление запросов

    Обзор объединения файлов (docs.com)

    Объединение CSV-файлов в Power Query (docs.com)

    Нужна дополнительная помощь?

    Skip to content

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

    Мы рассмотрим три способа объединения файлов Excel в один: путем копирования листов, запуска макроса VBA и использования инструмента «Копировать рабочие листы» из надстройки Ultimate Suite.

    Намного проще обрабатывать данные в одном файле, чем переключаться между многочисленными книгами. Однако объединение нескольких книг Excel в один файл может быть сложным и долгим процессом, особенно если книги, которые вам нужно объединить, содержат много листов. Итак, как подойти к этой проблеме? Вы будете копировать их вручную или с помощью кода VBA? Или вы используете один из специализированных инструментов для объединения файлов Excel? 

    Ниже вы найдете несколько хороших способов, позволяющих реализовать объединение.

    • Самое простое — копировать вручную.
    • Объединение файлов Excel при помощи VBA.
    • Как объединить несколько файлов с помощью Ultimate Suite.

    Примечание. В этой статье мы рассмотрим, как копировать листы из нескольких книг Excel в одну книгу. Если вы ищете быстрый способ скопировать данные с нескольких листов на один общий лист, вы найдете подробную инструкцию в другой статье: Как объединить несколько листов в один.

    Простой метод — копировать листы руками.

    Если вам нужно объединить всего пару файлов Excel, вы можете вручную скопировать или переместить листы из одного файла в другой. Вот как это можно сделать:

    1. Откройте книги, которые мы планируем объединить.
    2. Выберите листы в исходной книге, которые вы хотите скопировать в основную книгу.

    Чтобы выбрать несколько листов, используйте один из следующих приемов:

    • Чтобы выбрать соседние листы, щелкните вкладку первого, который вы хотите скопировать, нажмите и удерживайте клавишу Shift, а затем щелкните вкладку последнего. Это действие выберет все листы между ними.
    • Чтобы выбрать несмежные, удерживайте клавишу Ctrl и щелкайте вкладку каждого из них по отдельности.
    • Выделив все нужные листы, щелкните правой кнопкой мыши любую из выделенных вкладок и выберите «Переместить» или «Копировать…» .

    1. В диалоговом окне «Перемещение или копирование» выполните следующие действия:
      • В раскрывающемся списке «Переместить выбранные листы в книгу» выберите целевую книгу, в которую вы хотите объединить другие файлы.
      • Укажите, где именно должны быть вставлены вкладки. В нашем случае мы выбираем вариант вставки в конец списка.
      • Установите флажок «Создать копию», если хотите, чтобы исходные данные оставались оригинальном файле.
      • Нажмите ОК, чтобы завершить операцию.

    Чтобы объединить вкладки из нескольких файлов Excel, повторите описанные выше шаги для каждой книги отдельно.

    Замечание. При копировании листов вручную помните о следующем ограничении, налагаемом Excel: невозможно переместить или скопировать группу листов, если какой-либо из них содержит «умную» таблицу. В этом случае вам придется либо преобразовать таблицу в диапазон, либо использовать один из других методов, не имеющих этого ограничения.

    Как объединить файлы Excel с VBA

    Если у вас есть несколько файлов Excel, которые необходимо объединить в один файл, более быстрым способом будет автоматизировать процесс с помощью макроса VBA.

    Ниже вы найдете код VBA, который копирует все листы из всех файлов Excel, которые вы выбираете, в одну книгу. Этот макрос MergeExcelFiles написан Алексом.

    Важное замечание! Макрос работает со следующим ограничением — объединяемые файлы не должны быть открыты физически или находиться в памяти, в буфере обмена. В таком случае вы получите ошибку во время выполнения.

    Sub MergeExcelFiles()
        Dim fnameList, fnameCurFile As Variant
        Dim countFiles, countSheets As Integer
        Dim wksCurSheet As Worksheet
        Dim wbkCurBook, wbkSrcBook As Workbook
     
        fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
     
        If (vbBoolean <> VarType(fnameList)) Then
     
            If (UBound(fnameList) > 0) Then
                countFiles = 0
                countSheets = 0
     
                Application.ScreenUpdating = False
                Application.Calculation = xlCalculationManual
     
                Set wbkCurBook = ActiveWorkbook
     
                For Each fnameCurFile In fnameList
                    countFiles = countFiles + 1
     
                    Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
     
                    For Each wksCurSheet In wbkSrcBook.Sheets
                        countSheets = countSheets + 1
                        wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
                    Next
     
                    wbkSrcBook.Close SaveChanges:=False
     
                Next
     
                Application.ScreenUpdating = True
                Application.Calculation = xlCalculationAutomatic
     
                MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
            End If
     
        Else
            MsgBox "No files selected", Title:="Merge Excel files"
        End If
    End Sub

    Как добавить этот макрос в книгу

    Если вы хотите вставить макрос в свою книгу, выполните следующие обычные действия:

    1. нажимать Alt + F11 , чтобы открыть редактор Visual Basic.
    2. Щелкните правой кнопкой мыши ThisWorkbook на левой панели и выберите « Вставить» > « Модуль» в контекстном меню.
    3. В появившемся окне (Окно кода) вставьте указанный выше код.

    Более подробная инструкция описана в разделе Как вставить и запустить код VBA в Excel .

    Кроме того, вы можете загрузить макрос в файле Excel, открыть его в этой книге (включить выполнение макросов, если будет предложено), а затем переключиться на свою собственную книгу и нажать Alt + F8 для его запуска. Если вы новичок в использовании макросов в Excel, следуйте подробным инструкциям ниже.

    Как использовать макрос MergeExcelFiles

    Откройте файл Excel, в котором вы хотите объединить листы из других книг, и выполните следующие действия:

    1. Нажмите комбинацию Alt + F8, чтобы открыть окно диалога.
    2. В разделе « Имя макроса» выберите MergeExcelFiles и нажмите «Выполнить».

    1. Откроется стандартное окно проводника, вы выберите одну или несколько книг, которые хотите объединить, и нажмите «Открыть» . Чтобы выбрать несколько файлов , удерживайте нажатой клавишу Ctrl, указывая на их имена.

    В зависимости от того, сколько файлов вы выбрали, дайте макросу несколько секунд или минут для их обработки. После завершения всех операций он сообщит вам, сколько файлов было обработано и сколько листов было объединено:

    Как объединить несколько файлов с помощью Ultimate Suite.

    Если вам не очень комфортно с VBA и вы ищете более простой и быстрый способ объединить файлы Excel, обратите внимание на инструмент «Копирование листов (Copy Sheets)» — одну из более чем 60 функций, включенных в невероятно функциональную программу Ultimate Suite for Excel. Она работает в версиях Excel 2010-2019.

    С Ultimate Suite объединение нескольких файлов Эксель в один так же просто, как раз-два-три (буквально, всего 3 быстрых шага). Вам даже не нужно открывать те из них, которые вы хотите объединить. И это могут быть два файла или несколько — не важно.

    1. Открыв главную книгу, перейдите на вкладку «Ablebits Data» и нажмите «Копировать листы (Copy Sheets)» > «Выбранные в одну книгу (Selected Sheets to one workbook)».

    1. В диалоговом окне выберите файлы (а в них — листы), которые вы хотите объединить, и нажмите «Далее (Next)» .

    Советы:

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

    Дайте мастеру копирования листов несколько секунд для обработки и наслаждайтесь результатом!

    На этой странице есть подробное описание всех возможностей работы мастера копирования.

    Чтобы поближе познакомиться с этим и другими инструментами для Excel, вы можете загрузить ознакомительную версию Ultimate Suite.

    Итак, я надеюсь, вы получили ответ на вопрос — как быстро объединить несколько файлов Excel в один.

    Понравилась статья? Поделить с друзьями:
  1. Как снять фильтры в таблице excel
  2. Как собрать заголовки в одно оглавление на word
  3. Как снять фильтры в excel по цвету
  4. Как собрать документы в excel в один
  5. Как снять фильтр по алфавиту в excel