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

Иван Корнев·10.04.2026·4 мин

Объединить несколько файлов Excel в один можно тремя способами: простым копированием (для 2–3 файлов), через встроенный инструмент Power Query (для регулярных отчетов) или с помощью макроса VBA (для полной автоматизации). Самый надежный и быстрый метод для большого количества файлов — использование Power Query, так как он позволяет обновлять сводную таблицу одной кнопкой при добавлении новых исходников.

Ниже приведены подробные инструкции для каждого метода.

Все описанные способы работают в актуальных версиях Excel для Windows (2016, 2019, 2021, 365) и macOS. Интерфейс может незначительно отличаться, но логика действий сохраняется.

Способ 1: Ручное копирование (для разовых задач)

Этот метод подходит, если вам нужно быстро склеить 2–3 небольшие таблицы и вы не планируете повторять эту операцию регулярно.

Пошаговый алгоритм:

  1. Откройте все файлы, которые нужно объединить.
  2. Создайте новую книгу («Сводная_таблица.xlsx»).
  3. В первом файле выделите область данных (без заголовков, если они будут общими, или с заголовками для первого файла). Нажмите Ctrl + C.
  4. Перейдите в новую книгу, выберите ячейку A1 и нажмите Ctrl + V.
  5. Для следующих файлов:
    • Выделите данные (только значения, без шапки таблицы).
    • Вставьте их в новую книгу строго под предыдущими данными.
  6. Сохраните результат.

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

Способ 2: Автоматическое слияние через Power Query (рекомендуемый)

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

Инструкция по настройке:

  1. Подготовка: Создайте отдельную папку на компьютере и поместите туда все Excel-файлы, которые нужно объединить. Убедитесь, что других файлов там нет.
  2. Запуск: Откройте пустой файл Excel. Перейдите на вкладку Данные (Data).
  3. Импорт: Нажмите Получить данныеИз файлаИз папки.
  4. Выбор пути: Укажите путь к папке с файлами и нажмите «Открыть».
  5. Объединение: В появившемся окне предпросмотра нажмите кнопку Объединить (Combine) → Объединить и преобразовать данные.
    • Примечание: Если система спросит пример файла, выберите любой из списка.
  6. Редактор: Откроется окно редактора Power Query. Здесь можно удалить лишние столбцы или отфильтровать данные. Обычно стандартных настроек достаточно.
  7. Загрузка: Нажмите кнопку Закрыть и загрузить (Close & Load) в левом верхнем углу.

Теперь в вашем файле появится новая таблица со всеми данными.

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

Способ 3: Полная автоматизация через макрос VBA

Если вам нужно объединять файлы сложным образом или вы хотите создать кнопку «Сделать всё за секунду», используйте макрос. Этот способ требует сохранения файла в формате .xlsm.

Как запустить готовое решение:

  1. Создайте новую книгу, нажмите Alt + F11 (откроется редактор VBA).
  2. В меню выберите InsertModule.
  3. Вставьте код (см. пример ниже) и сохраните файл как Книга с поддержкой макросов (.xlsm).
  4. Запустите макрос через Alt + F8, выбрав имя процедуры.

Пример простого кода для объединения листов: Этот скрипт берет все файлы из выбранной папки и копирует их содержимое на один лист.

Sub MergeFiles()
    Dim FolderPath As String, FileName As String
    Dim ws As Worksheet, wsMaster As Worksheet
    Dim wbSource As Workbook, wbMaster As Workbook
    Dim LastRow As Long, NextRow As Long
    
    ' Настройка мастер-листа
    Set wbMaster = ThisWorkbook
    Set wsMaster = wbMaster.Sheets(1)
    wsMaster.Name = "Сводная"
    
    ' Выбор папки
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выберите папку с файлами"
        If .Show = 0 Then Exit Sub
        FolderPath = .SelectedItems(1) & "\"
    End With
    
    FileName = Dir(FolderPath & "*.xlsx")
    NextRow = 1 ' Строка для вставки (заголовки копируются только один раз)
    
    Application.ScreenUpdating = False
    
    Do While FileName <> ""
        If FileName <> wbMaster.Name Then
            Set wbSource = Workbooks.Open(FolderPath & FileName)
            Set ws = wbSource.Sheets(1) ' Берем первый лист
            
            ' Копирование заголовков только для первого файла
            If NextRow = 1 Then
                ws.Rows(1).Copy Destination:=wsMaster.Rows(1)
                NextRow = 2
            End If
            
            ' Копирование данных без заголовка
            LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
            If LastRow > 1 Then
                ws.Range("A2", ws.Cells(LastRow, ws.Columns.Count).End(xlToLeft)).Copy _
                Destination:=wsMaster.Cells(NextRow, 1)
                NextRow = wsMaster.Cells(wsMaster.Rows.Count, 1).End(xlUp).Row + 1
            End If
            
            wbSource.Close SaveChanges:=False
        End If
        FileName = Dir()
    Loop
    
    Application.ScreenUpdating = True
    MsgBox "Готово! Файлы объединены."
End Sub

Сравнение методов

МетодСложностьКогда использоватьОбновление данных
Ручное копированиеНизкая2–3 файла, разовая задачаВручную
Power QueryСредняяДесятки файлов, регулярные отчетыОдна кнопка «Обновить»
Макрос VBAВысокаяСложная логика, создание своих инструментовАвтоматически при запуске

Частые ошибки при объединении

  1. Разная структура столбцов. Если в одном файле колонка называется «Дата», а в другом «Даты», Power Query создаст два разных столбца. Приведите заголовки к единому виду перед объединением.
  2. Лишние строки в исходниках. Часто в файлах есть «подвалы» с итоговыми суммами. При слиянии они попадут в середину общей таблицы и испортят формулы. Удаляйте их в исходных файлах или фильтруйте в Power Query.
  3. Формат ячеек. Иногда даты в одном файле текстовые, а в другом — числовые. После объединения проверьте формат столбцов.

FAQ

Можно ли объединить файлы, если они находятся в разных папках? Да, но для этого в Power Query нужно создавать отдельные запросы для каждой папки, а затем объединять результаты функцией «Добавить запросы» (Append Queries). Проще всего собрать все файлы в одну директорию.

Что делать, если файлов очень много (сотни)? Excel может начать работать медленно. В таком случае лучше загружать данные не на лист, а в Модель данных (при загрузке из Power Query выберите «Только создать подключение» и отметьте галочку «Добавить в модель данных»). Это позволит анализировать миллионы строк через сводные таблицы без тормозов.

Работает ли это в онлайн-версии Excel? Нет. Power Query и макросы VBA доступны только в десктопных версиях приложения для ПК и Mac. В веб-версии доступно только ручное копирование.