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

Skip to content

6 примеров — как консолидировать данные и объединить листы Excel в один

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

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

Сегодня мы займемся проблемой, с которой ежедневно сталкиваются многие пользователи Excel, — как объединить листы Excel в один без использования операций копирования и вставки. Рассмотрим два наиболее распространенных сценария: объединение числовых данных (сумма, количество, среднее и т. д.) и объединение листов ( то есть копирование данных из нескольких листов в один).

Вот что мы рассмотрим в этой статье:

  • Объединение при помощи стандартного инструмента консолидации.
  • Как копировать несколько листов Excel в один.
  • Как объединить листы с различным порядком столбцов.
  • Объединение только определённых столбцов из нескольких листов
  • Слияние листов в Excel с использованием VBA
  • Как объединить два листа в один по ключевым столбцам

Консолидация данных из нескольких листов на одном.

Самый быстрый способ консолидировать данные в Excel (в одной или нескольких книгах) — использовать встроенную функцию Excel Консолидация.

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

Как вы видите на скриншоте ниже, четыре объединяемых листа имеют схожую структуру данных, но разное количество строк и столбцов:

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

  1. Правильно расположите исходные данные. Чтобы функция консолидации Excel работала правильно, убедитесь, что:
    • Каждый диапазон (набор данных), который вы хотите объединить, находится на отдельном листе. Не помещайте данные на лист, куда вы планируете выводить консолидированные данные.
    • Каждый лист имеет одинаковый макет, и каждый столбец имеет заголовок и содержит похожие данные.
    • Ни в одном списке нет пустых строк или столбцов.
  2. Запустите инструмент «Консолидация». На новом листе, где вы планируете поместить результаты, щелкните верхнюю левую ячейку, начиная с которой должны отображаться консолидированные данные, затем на ленте перейдите на вкладку «Данные» и нажмите кнопку «Консолидация».

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

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

Если один или несколько листов находятся в другой книге, используйте кнопку «Обзор», чтобы найти эту книгу и использовать ее.

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

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

Как видите, функция консолидации Excel очень полезна для сбора данных. Однако у нее есть несколько ограничений. В частности, он работает только для числовых значений и всегда обрабатывает эти числа тем или иным образом (сумма, количество, среднее и т. д.). Исходные цифры вы здесь не увидите.

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

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

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

Как скопировать несколько листов Excel в один.

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

Для начала давайте будем исходить из следующих условий:

  • Структура таблиц и порядок столбцов на всех листах одинаковы.
  • Количество строк везде разное.
  • Листы могут в будущем добавляться или удаляться.

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

Три простых шага — это все, что нужно, чтобы объединить выбранные листы в один.

1.       Запустите мастер копирования листов.

На ленте перейдите на вкладку AblebitsData, нажмите «Копировать листы (Copy Sheets)» и выберите один из следующих вариантов:

  1. Скопировать листы из каждой книги на один лист и поместить полученные листы в одну книгу.
  2. Объединить листы с одинаковыми названиями в один.
  3. Скопировать выбранные в одну книгу.
  4. Объединить данные из выбранных листов на один лист.

Поскольку мы хотим объединить несколько листов путем копирования их данных, то выбираем последний вариант:

1.       Выберите листы и, при необходимости, диапазоны для объединения.

Мастер копирования листов отображает список всех имеющихся листов во всех открытых книгах. Выберите те из них, которые хотите объединить, и нажмите « Далее».

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

В этом примере мы объединяем первые три листа нашей книги:

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

2.       Выберите, каким образом произвести объединение.

На этом этапе вы должны настроить дополнительные параметры, чтобы ваша информация была объединена именно так, как вы хотите.

Как вставить :

  1. Вставить все – скопировать все данные (значения и формулы). В большинстве случаев это правильный выбор.
  2. Вставлять только значения – если вы не хотите, чтобы переносились формулы, выберите этот параметр.
  3. Создать ссылки на исходные данные – это добавит формулы, связывающие итоговые ячейки с исходными. Выберите этот параметр, если вы хотите, чтобы результат объединения обновлялся автоматически при изменении исходных файлов. Это работает аналогично параметру «Создать ссылки на исходные данные» в стандартном инструменте консолидации в Excel.

Как расположить :

  1. Разместите скопированные диапазоны один под другим – то есть вертикально.
  2. Расположить скопированные диапазоны рядом – то есть по горизонтали.

Как скопировать :

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

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

Нажмите кнопку «Копировать (Copy)», и у вас будет содержимое трех разных листов, объединенное в один итоговый, как показано в начале этого примера.

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

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

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

Используем инструмент объединения листов Combine Sheets.

Запускаем надстройку через меню Ablebits Data – Combine Sheets.

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

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

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

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

И данные будут идеально скомпонованы по заголовкам столбцов:

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

Объединение определенных столбцов из нескольких листов.

А вот, как мне кажется, наиболее часто встречающаяся ситуация:

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

Запустите мастер объединения листов, как мы это делали в предыдущем примере, укажите нужные, а затем выберите соответствующие столбцы. Да, это так просто!

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

Эти примеры продемонстрировали только несколько инструментов слияния данных, но это еще не все! Немного поэкспериментировав, вы увидите, насколько полезны и удобны все функции, включенные в пакет. 

Полнофункциональная ознакомительная версия Ultimate Suite доступна для загрузки в по этой ссылке.

Слияние листов в Excel с помощью кода VBA

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

Для этого на вкладке Разработчик (Developer) нажмите кнопку Visual Basic или воспользуйтесь сочетанием клавиш Alt+F11. В открывшемся окне добавьте новый модуль через меню Insert — Module и скопируйте туда текст вот такого макроса:

Sub CopyDataWithHeaders()
    Dim sh As Worksheet
    Dim DestSh As Worksheet
    Dim Last As Long
    Dim shLast As Long
    Dim CopyRng As Range
    Dim StartRow As Long

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    'Delete the sheet "RDBMergeSheet" if it exist
    Application.DisplayAlerts = False
    On Error Resume Next
    ActiveWorkbook.Worksheets("RDBMergeSheet").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True

    'Add a worksheet with the name "RDBMergeSheet"
    Set DestSh = ActiveWorkbook.Worksheets.Add
    DestSh.Name = "RDBMergeSheet"

    'Fill in the start row
    StartRow = 2

    'loop through all worksheets and copy the data to the DestSh
    For Each sh In ActiveWorkbook.Worksheets
        If sh.Name <> DestSh.Name Then

'Copy header row, change the range if you use more columns
If WorksheetFunction.CountA(DestSh.UsedRange) = 0 Then
  sh.Range("A1:Z1").Copy DestSh.Range("A1")
End If

            'Find the last row with data on the DestSh and sh
            Last = LastRow(DestSh)
            shLast = LastRow(sh)

            'If sh is not empty and if the last row >= StartRow copy the CopyRng
            If shLast > 0 And shLast >= StartRow Then

                'Set the range that you want to copy
                Set CopyRng = sh.Range(sh.Rows(StartRow), sh.Rows(shLast))

                'Test if there enough rows in the DestSh to copy all the data
                If Last + CopyRng.Rows.Count > DestSh.Rows.Count Then
                    MsgBox "There are not enough rows in the Destsh"
                    GoTo ExitTheSub
                End If

                'This example copies values/formats, if you only want to copy the
                'values or want to copy everything look below example 1 on this page
                CopyRng.Copy
                With DestSh.Cells(Last + 1, "A")
                    .PasteSpecial xlPasteValues
                    .PasteSpecial xlPasteFormats
                    Application.CutCopyMode = False
                End With

            End If

        End If
    Next

ExitTheSub:

    Application.Goto DestSh.Cells(1)

    'AutoFit the column width in the DestSh sheet
    DestSh.Columns.AutoFit

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
End Sub

Function LastRow(sh As Worksheet)
    On Error Resume Next
    LastRow = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            Lookat:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
    On Error GoTo 0
End Function


Function LastCol(sh As Worksheet)
    On Error Resume Next
    LastCol = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            Lookat:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByColumns, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Column
    On Error GoTo 0
End Function

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

В этой функции выполняется копирование данных со всех листов начиная со строки 2 и до последней строки с данными. Если шапка в ваших таблицах занимает две или более строки, то измените этот код, поставив вместо 2 цифры 3, 4 и т.д.:

    'Fill in the start row
    StartRow = 2

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

Ещё несколько интересных примеров кода VBA для объединения листов вашей рабочей книги вы можете найти по этой ссылке.

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

Если вы ищете быстрый способ сопоставить и объединить данные из двух листов, вы можете либо использовать функцию Excel ВПР, либо воспользоваться мастером объединения таблиц Merge Two Tables. 

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

Более подробно его работа рассмотрена в этой статье.

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

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

Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…
Как быстро объединить несколько файлов Excel Мы рассмотрим три способа объединения файлов Excel в один: путем копирования листов, запуска макроса VBA и использования инструмента «Копировать рабочие листы» из надстройки Ultimate Suite. Намного проще обрабатывать данные в…
Как работать с мастером формул даты и времени Работа со значениями, связанными со временем, требует глубокого понимания того, как функции ДАТА, РАЗНДАТ и ВРЕМЯ работают в Excel. Эта надстройка позволяет быстро выполнять вычисления даты и времени и без особых…
Как найти и выделить уникальные значения в столбце В статье описаны наиболее эффективные способы поиска, фильтрации и выделения уникальных значений в Excel. Ранее мы рассмотрели различные способы подсчета уникальных значений в Excel. Но иногда вам может понадобиться только просмотреть уникальные…
Как получить список уникальных значений В статье описано, как получить список уникальных значений в столбце с помощью формулы и как настроить эту формулу для различных наборов данных. Вы также узнаете, как быстро получить отдельный список с…
6 способов быстро транспонировать таблицу В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу.…
Как объединить две или несколько таблиц в Excel В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах. Как часто при анализе в Excel вся необходимая информация собирается на одном…

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

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

как объединить листы эксель онлайн

Содержание

  • 1 Как работает объединение листов в Эксель Онлайн
  • 2 Как объединить все листы в одну книгу
  • 3 Объединение данных в один лист

Как работает объединение листов в Эксель Онлайн

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

Чтобы объединить много листов выполните следующие действия:

  1. Откройте нужные листы Excel и зайдите в меню Главная;
  2. Нажмите кнопку Формат и выберите пункт Переместить или скопировать текст;
  3. В появившемся окне укажите Новая книга и нажмите ОК.

как объединить листы эксель

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

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

Для объединения листов Excel в одну книгу выполните следующие действия:

  1. Откройте нужные для объединения листы;
  2. Зайдите в меню Главная на вкладку Формат;
  3. Выберите пункт Переместить или скопировать текст;
  4. В появившемся меню выберите Новая книга, чтобы указать сводную таблицу для совмещения всех листов;
  5. Продублируйте все действия с остальными листами, которые нужно объединить. Сохраните готовый файл.

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

Объединение данных в один лист

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

Чтобы объединить информацию в один лист выполните следующие действия:

  1. Создайте новый рабочий документ Excel;
  2. Зайдите в меню Данные и нажмите кнопку Закреплять;
  3. В появившемся окне кликните Сумма;
  4. Нажмите пункт Рекомендации, чтобы открыть таблицу для выбора данных.

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

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

  1. Укажите Создать ссылки на исходные данные, если нужно продолжить обновление данных на остальных листах, и лист должен это отражать;
  2. Кликните Ок и сохраните всю информацию.

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

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

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

Повторите этот процесс с остальными листами, которые вы хотите объединить. Затем сохраните новый мастер-документ.

Иногда вам может понадобиться взять несколько наборов данных и представить их как один лист. Это довольно легко сделать в Excel, если вы потратите время на то, чтобы ваши данные были отформатированы заблаговременно.

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

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

На этом новом листе перейдите на вкладку « Данные » и нажмите « Консолидировать» .

консолидировать данные Excel

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

консолидировать данные Excel

Сделайте это для всех наборов данных, которые вы хотите объединить. Вы даже можете рисовать из других книг, используя кнопку « Обзор» , также известную как « Выбрать» в версии Excel для Mac.

консолидировать данные Excel

Установите флажок Создать ссылки на исходные данные, если вы собираетесь продолжать обновлять данные на других листах и ​​хотите, чтобы этот лист отражал это. Вы также можете выбрать, какие ярлыки переносятся с помощью флажков, показанных выше. Я выбрал галочку в обоих полях, потому что хотел оба набора меток.

Наконец, нажмите ОК .

консолидировать данные Excel

Вы должны получить что-то вроде скриншота выше. К сожалению, этот процесс не подходит, если вы хотите объединить ячейки с текстом в них — он работает только с числовыми данными. В этой ситуации вам нужно будет использовать VBA

Объединение рабочих тетрадей с VBA

Если вы хотите объединить листы из нескольких рабочих книг за один прием, лучше всего написать простой макрос VBA Это особенно удобно, если вы будете выполнять эту задачу на регулярной основе.

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

Перейдите на вкладку Разработчик и нажмите Visual Basic .

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

Нажмите Вставить> Модуль и скопируйте и вставьте следующий код, взятый из руководства ExtendOffice :

Sub GetSheets() Path = "C:UsersBrad\MergingSheets" 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, чтобы включить макросы. Затем запустите макрос, и вы обнаружите, что у вас есть одна рабочая книга, которая содержит все листы из всех файлов в папке.

Смотри, прежде чем прыгать

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

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

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

У вас есть совет для объединения различных наборов данных? Или вы ищете помощь с методами в этом руководстве? В любом случае, почему бы не присоединиться к беседе в разделе комментариев ниже?

Сборка данных со всех листов книги в одну таблицу

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

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

Исходный файл

Давайте будем исходить из следующих соображений:

  • Структура и столбцов на всех листах одинаковая.
  • Количество строк на всех листах разное.
  • Листы могут в будущем добавляться или удаляться.

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

Способ 1. Сборка данных с листов с помощью Power Query

Если вы ещё не сталкивались в своей работе с Power Query, то очень советую копнуть в этом направлении. Использование этой бесплатной и уже встроенной по умолчанию в Excel надстройки, способно полностью перевернуть весь ваш процесс сбора и анализа данных, упростив всё в разы. С задачей сбора данных с листов Power Query справляется весьма успешно.

Шаг 1. Подключаемся к файлу

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

Если у вас Excel 2010-2013 и вы установили Power Query как отдельную надстройку, то откройте вкладку Power Query, если у вас Excel 2016 или новее, то вкладку Данные (Data). Нажмите кнопку Получить данные / Создать запрос — Из файла — Книга Excel (Get Data / New Query — From file — From Excel) и укажите наш файл с исходными листами:

Указываем файл

В появившемся окне Навигатора (Navigator) выберите слева любой лист и нажмите в правом нижнем углу кнопку Преобразовать данные (Transform Data) или Изменить (Edit):

Выбираем любой лист

Должно появиться окно редактора запросов Power Query, где отобразятся данные с выбранного листа. Поскольку нам нужен, на самом деле, не один лист, а все, то удалим в правой панели все шаги, кроме первого шага Источник (Source) используя крестик слева от названия шага:

Удаляем лишние шаги

То, что останется после удаления шагов — это список всех объектов, которые Power Query «видит» во внешних файлах, а это:

  • листы (Sheet)
  • «умные таблицы» (Table)
  • именованные диапазоны (Defined Name)
  • области печати (Print Area), которые, по сути, являются одним из видов именованного диапазона

Шаг 2. Отбираем нужные листы

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

Во-первых, легко можно отфильтровать нужные объекты по типу по столбцу Kind. Например, если вам нужны только листы:

Фильтруем листы

Во-вторых, если нам нужны только видимые листы, то дополнительно можно отфильтровать ещё по столбцу Hidden.

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

Подсчет числа столбцов

Для подсчёта количества строк можно использовать аналогичную функцию Table.RowCount. Получившийся столбец затем можно использовать для фильтрации «мусорных» таблиц.

В-четвёртых, можно извлечь с каждого листа содержимое любой ячейки (например, А1) и использовать его для отбора. Например, если там нет слова «Товар«, то это не наш лист. Для извлечения нужно будет также добавить вычисляемый столбец с такой конструкцией:

=[Data][Column1]{0}

Здесь:

  • [Data] — имя столбца, где в каждой ячейке лежат таблицы с содержимым каждого листа (убийственная формулировка для рядового пользователя Excel, да, я знаю)
  • [Column1] — имя столбца на листе, из которого мы хотим извлечь данные
  • {0} — номер строки (считая с нуля), откуда мы хотим взять данные

Извлекаем содержимое А1 с каждого листа

После фильтрации «мусора» все добавленные вспомогательные столбцы можно, конечно же, спокойно удалить, оставив только колонки Name и Data.

Шаг 3. Разворачиваем таблицы

Теперь развернём содержимое таблиц в одно целое, используя кнопку с двойными стрелками в заголовке столбца Data, отключив флажок Использовать исходное имя столбца как префикс (Use original column name as prefix):

Разворачиваем вложенные таблицы

После нажатия на ОК Power Query соберёт для нас все данные в одну мегатаблицу со всех отобранных листов нашего файла:

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

Останется лишь «навести блеск», а именно:

  1. Поднять первую строку в шапку таблицы кнопкой Использовать первую строку в качестве заголовков (Use first row as headers) на вкладке Главная (Home).
  2. Переименовать первый столбец в Город двойным щелчком на заголовку.
  3. Удалить повторяющиеся шапки таблиц, попавшие в одну кучу вместе с данными, используя фильтр по столбцу Товар.

Всё. Осталось только дать нашему запросу подходящее имя (например, Сборка) в панели справа и выгрузить затем собранные данные обратно в Excel кнопкой Закрыть и загрузить на вкладке Главная (Home — Close & Load):

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

В будущем, при любых изменениях в исходном файле достаточно будет лишь обновить наш запрос, щелкнув по собранной таблице правой кнопкой мыши и выбрав команду Обновить (Refresh) или такой же кнопкой на вкладке Данные (Data) или сочетанием клавиш Ctrl+Alt+F5.

Плюсы такого подхода:

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

Минусы этого способа:

  • Собираются только значения, т.е. формулы с исходных листов не сохраняются.
  • Названия столбцов должны на всех листах совпадать с точностью до регистра.
  • Нельзя выбрать какой именно диапазон берётся с каждого листа — это определяется автоматически (берётся всё, что есть).
  • Для обновления нужен Excel 2016 или новее или установленная надстройка Power Query.

Способ 2. Сборка данных с листов макросом на VBA

Похожего результата можно добиться и с помощью более «классического» подохода — макросом на VBA. Для этого на вкладке Разработчик (Developer) нажмите кнпоку Visual Basic или воспользуйтесь сочетанием клавиш Alt+F11. В открывшемся окне добавьте новый модуль через меню Insert — Module и скопируйте туда текст вот такого макроса:

Sub CollectDataFromAllSheets()
    Dim ws As Worksheet
    
    Set wbCurrent = ActiveWorkbook
    Workbooks.Add
    Set wbReport = ActiveWorkbook
    
    'копируем на итоговый лист шапку таблицы из первого листа
    wbCurrent.Worksheets(1).Range("A1:D1").Copy Destination:=wbReport.Worksheets(1).Range("A1")
    
    'проходим в цикле по всем листам исходного файла
    For Each ws In wbCurrent.Worksheets
    
        'определяем номер последней строки на текущем листе и на листе сборки
        n = wbReport.Worksheets(1).Range("A1").CurrentRegion.Rows.Count
        
        'задаем исходный диапазон, который надо скопировать с каждого листа - любой вариант на выбор:
        Set rngData = ws.Range("A1:D5")            'фиксированный диапазон или
        Set rngData = ws.UsedRange                 'всё, что есть на листе или
        Set rngData = ws.Range("F5").CurrentRegion    'область, начиная от ячейки F5 или
        Set rngData = ws.Range("A2", ws.Range("A2").SpecialCells(xlCellTypeLastCell))    'от А2 и до конца листа
        
        'копируем исходный диапазон и вставляем в итоговую книгу со следующей строки
        rngData.Copy Destination:=wbReport.Worksheets(1).Cells(n + 1, 1)
        
    Next ws
End Sub

Запустить созданный макрос можно на вкладке Разработчик кнопкой Макросы (Developer — Macros) или с помощью сочетания клавиш Alt+F8. Макрос автоматически создаст новую книгу и скопирует туда нужные вам данные.

Плюсы такого подхода:

  • Формулы с исходных листов сохраняются в сборке.
  • Имена столбцов не играют роли.
  • Макрос будет работать в любой версии Excel.
  • Можно выбирать, что именно брать с каждого листа (конкретный фиксированный диапазон или весь лист).

Минусы этого способа:

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

Способ 3. Готовый макрос из надстройки PLEX

Если лень возиться с макросами или Power Query, то можно пойти по пути наименьшего сопротивления — использовать готовый макрос (кнопка Собрать) из моей надстройки PLEX для Excel. Это, может, и не спортивно, но зато эффективно:

Сборка данных с листов через PLEX

В общем, выбирайте любой удобный вам вариант и действуйте. Выбор — это всегда хорошо.

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

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

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

​Смотрите также​​ них на один.​ от большой работы,​ значения кодового слова​ ячеек в таблице​ D или пропишите​: В файле 2​ собрать листы из​With Sheets(«Лист2»)​ Мне понравился очень​ так и хотел​ в группу.​Удерживая клавишу CTRL, щелкните​.​.​Использовать в качестве имен​ данные на них​Примечание:​ Странный вопрос. Откуда​ и я свободен)))​я применила бы​ первой книги. Поэтому​

​ новые пути к​ варианта, первый консолидацией,​ других файлов, входим​rr.Copy .Range(«B» &​ ваш макрос. У​спасибо!!​К началу страницы​ ярлычки листов, которые​Примечание:​После добавления данных из​, указывающие, где в​ расположены одинаково.​Мы стараемся как​ программе знать, как​ и как раз​ массив​ макрос их перебирает,​ ним в коде.​ второй формулами, но​ в редактор Visual​ .Rows.Count).End(IIf(Len(.Range(«B» & .Rows.Count)),​ меня имеется файл​

​Я правильно понял,​migo​ хотите объединить в​ Любые названия, не совпадающие​ всех исходных листов​ исходных диапазонах находятся​На конечном листе щелкните​ можно оперативнее обеспечивать​ расположить информацию при​ можно изучить VB)​Sub copyUnion() Dim​ сравнивает со второй​ Макрос находится в​ если у вас​ Basic (​ xlDown, xlUp)).Offset(1)​ с несколькими страницами.​ чтоб сделать такой​

​: Здравствуйте!​ группу.​ с названиями в​

Консолидация по расположению

​ и книг нажмите​ названия:​ верхнюю левую ячейку​ вас актуальными справочными​ гипотетическом «объединении»? Да​ подскажите оптимальный источник​ firstBook As Workbook​

  1. ​ и воспринимает как​ file2 и запускается​ по факту листов​ALT+F11​.Range(«A» & .Rows.Count).End(IIf(Len(.Range(«A»​

  2. ​ В каждом листе​ же макрос в​Прошу Вашей помощи​Совет:​ других исходных областях,​

    ​ кнопку​​подписи верхней строки​ области, в которой​ материалами на вашем​ и не было​

  3. ​ знаний?)​​ Dim secondBook As​​ разные. Поэтому и​​ кнопкой.​​ в несколько раз​​), добавляем новый пустой​​ & .Rows.Count)), xlDown,​

    Кнопка

  4. ​ примерно 5000 строк.​​ моем файле, состоящем​​ в решении следующей​ Если вы хотите сгруппировать​

  5. ​ могут привести к​ОК​

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

  6. ​Tumatayev​ Workbook Dim ws1​ не меняет. Вы​Tumatayev​​ больше чем в​​ модуль (в меню​

Консолидация по категории

​ xlUp)).Offset(1).Resize(l) = sh.Name​ И когда я​ из 9 страниц,​ задачи:​ листы, расположенные подряд,​ появлению в консолидированных​.​значения левого столбца​ данные.​ переведена автоматически, поэтому​ подобном. Вы опишите,​​, тут уж для​​ As Worksheet Dim​​ можете выложить сделанные​​: У меня одна​ примере,то формулами не​

  1. ​Insert — Module​End With​

  2. ​ применяю ваш макрос,​ я должен изменить​есть книга эксель​ щелкните ярлычок первого​ данных отдельных строк​

    ​Для консолидации по категории​​либо оба флажка​Примечание:​ ее текст может​ что Вам нужно​

  3. ​ каждого свой Смотрите​​ ws2 As Worksheet​​ файлы в архиве?​​ проблема(​​ вариант, читайте тогда​​) и копируем туда​​End If​

    Кнопка

  4. ​ то он очень​​ только эту строку?​​ состоящая из 12​ листа диапазона, а​

  5. ​ или столбцов.​​ диапазон данных на​​ одновременно.​ Убедитесь, что справа и​ содержать неточности и​​ — как-то яснее​​ и выбирайте, что​​ Dim i, i1,​​ Или хотя бы​Где я допустил​

  6. ​ про консолидацию, это​ текст вот такого​Next​ долго думает. Вопрос:​l = .Cells.Find(«*»,​ листов.​ затем, удерживая клавишу​

    ​Примечание:​ каждом из исходных​​Выделите на каждом листе​​ снизу достаточно свободных​

  7. ​ грамматические ошибки. Для​ будет. И 100​ вам подойдет: Учебники,​ j, j2, s1,​​ скопировать в один​​ ошибку? я только​

    ​ средство Excel идеально​​ макроса:​End Sub​ Почему так. Может​ , xlFormulas, 1,​на каждом из​ SHIFT — последнего.​Мы стараемся как​

Консолидация по расположению

​ листов должен иметь​ нужные данные. Не​ ячеек для консолидированных​ нас важно, чтобы​ и более листов​ справочники, самоучители​ spath, dt1 dt1​

  1. ​ файл строчек по​ размер таблиц поменял!​ подходит под вашу​Sub CombineWorkbooks() Dim​maxzeev​

  2. ​ быть я неправильно​ 1, 2, 3,​ этих листов находится​Теперь добавим одну формулу​ можно оперативнее обеспечивать​

    ​ формат списка без​​ забудьте включить в​ данных.​ эта статья была​ запросто можно в​

  3. ​Юля павлова​​ = Timer spath​​ пять первых двух​​ а он мне​​ структуру таблиц и​​ FilesToOpen Dim x​​: Вопрос снят, оказалось​

    Вкладка

  4. ​ применяю макрос или​​ 4, 5, 6,​​ данные, которые надо​ в ячейку B7​

  5. ​ вас актуальными справочными​ пустых строк и​ них ранее выбранные​​На вкладке​​ вам полезна. Просим​

    ​ некоторых ситуациях описать​: Объединять листы книги​​ = Excel.ActiveWorkbook.Path &​​ столбцов всех трех​

  6. ​ копирует не с​ задачу. В файле​ As Integer Application.ScreenUpdating​ все очень просто​​ это зависит от​​ 7, 8, 9).Row​

Консолидация по категории

​ совместить на отдельном​ на листах «Париж»​ материалами на вашем​ столбцов. Кроме того,​ данные из верхней​Данные​ вас уделить пару​ одной формулой. Ну​ имеет смысл, если​ «» Set secondBook​ таблиц. Только чтобы​​ первый таблицы города​​ в , создан​​ = False ‘отключаем​​ и красиво, с​ количества данных в​

  1. ​ + 1​ листе этой же​

  2. ​ и «Лондон». Если​ языке. Эта страница​ категории должны быть​ строки или левого​в группе​

    ​ секунд и сообщить,​​ а нет -​ эти листы содержат​ = ActiveWorkbook Set​ копии были точно​

  3. ​ а со второй​​ с помощью консолидации.​​ обновление экрана для​​ помощью панели PLEX!​​ файле. Помогите пож.​​или еще что-то?​​ книги. В идеале​

    Вкладка

  4. ​ два листа сгруппированы,​​ переведена автоматически, поэтому​​ названы одинаково. Например,​ столбца.​

  5. ​Работа с данными​​ помогла ли она​​ еще Visual Basic​ исходные данные, введённые​ firstBook = Workbooks.Open(spath​​ такие же как​​ ID​​Doktor1962​​ скорости ‘вызываем диалог​ Спасибо всем огромное!​

  6. ​Читаем Правила форума,​Poltava​ — чтоб при​ изменения, внесенные на​ ее текст может​ если один из​Путь к файлу вводится​нажмите кнопку​​ вам, с помощью​​ остается.​

    ​ по одной и​ & «file1.xlsx») Set​​ оригиналы в ваших​​Option Base 1​

  7. ​: Ув. AleksSid раз​ выбора файлов для​nerv​ создаём свою тему,​​: Неправильно поняли! ничего​​ появлении в одном​

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

support.office.com

Группировка листов

​ ws1 = firstBook.Sheets(1)​​ файлах.​ Sub copyUnion() Dim​ уж вам нравится​ импорта FilesToOpen =​: Я так понял,​ прикладываем файл с​ менять не надо!​ из листов новых​ автоматически выполнятся на​ грамматические ошибки. Для​Сред.​Все ссылки​.​ Для удобства также​: Не надо объединять​ на каждом листе.​ Set ws2 =​Tumatayev​ firstBook As Workbook​ расшифровывать мои ответы​ Application.GetOpenFilename _ (FileFilter:=»All​

​ что там еще​ примером. Эта тема​ макрос сам перебирает​ данных, лист со​ другом. Например, изменение​ нас важно, чтобы​, а другой —​.​Выберите в раскрывающемся списке​ приводим ссылку на​ страницы​ Это можно сделать​ secondBook.Sheets(1) Dim mass(200000)​: Все варианты форматов​ Dim secondBook As​ (он над вашим,​ files (*.*), *.*»,​ помимо копирования суммировать​ закрыта​ все листы в​ сводной информацией мог​ формулы на листе​ эта статья была​Среднее​После добавления данных из​функцию​ оригинал (на английском​Алекс куха​

​ копированием значений с​

  • ​ As Long For​

  • ​ перепробовал, не получается(​

  • ​ Workbook Dim thirdBook​

  • ​ если заметите сообщением),​

Группировка выделенных листов

​ _ MultiSelect:=True, Title:=»Files​ надо​maxzeev​ книге будь их​ обновляться.​ «Париж» в этом​ вам полезна. Просим​, консолидация не просуммирует​

Пример листа

​ всех исходных листов​, которую требуется использовать​ языке) .​

  1. ​: Эксель документ можно​ листа на общий​ i = 2​Еще сам добавил​

    Выделены ярлыки

    ​ As Workbook Set​​ могу кроме приведенного​ to Merge») If​maxzeev​: Подскажите пожалуйста, как​ там 3, 5​Количество столбцов и​

  2. ​ случае также будет​ вас уделить пару​ эти столбцы.​ и книг нажмите​ для консолидации данных.​Если данные, которые требуется​ интерпретировать, как БД​ лист.​ To 200000 j​ доп. функцию «если​ secondBook = ActiveWorkbook​ вами способа формулами​ TypeName(FilesToOpen) = «Boolean»​: Нет суммировать не​

    Формула на листе Формула также есть на листе

    ​ объединить таблицы на​​ или 10​ их наименования в​ учтено на листе​​ секунд и сообщить,​​Откройте каждый из исходных​

    ​ кнопку​

​Выделите на каждом листе​​ проанализировать, представлены на​ (набор двумерных таблиц)​Если же листы​ = ws1.Cells(i, 1)​

Отмена группировки выделенных листов

​ совпадении нет то​ Set firstBook =​ посоветовать Вам посчитать​ Then MsgBox «Не​

  1. ​ нужно. Нужно было​ 800 листах (имя​KuklP​

​ каждом листе совпадает,​

Группировка всех листов

​ «Лондон».​ помогла ли она​

  1. ​ листов.​ОК​

  2. ​ нужные данные.​​ нескольких листах или​​ , поэтому и​

    В контекстном меню выбран элемент Выбраны все листы.

    ​ содержат формулы, да​​ If j >​ выводит Empty»​ Workbooks.Open(«C:\ALL.xlsx») Set thirdBook​ на пальцах. А​ выбрано ни одного​ выделить все листы,​ листов — даты)​: Все верно​ а кол-во строк​

    В контекстном меню выбран элемент

​Примечание:​

Отмена группировки всех листов

​ вам, с помощью​На конечном листе щелкните​.​

  1. ​Путь к файлу вводится​ в нескольких книгах,​

  2. ​ приёмы работы можно​​ ещё с разнообразными​​ 0 Then mass(j)​

    ​макрос и без​​ = Workbooks.Open(«C:\File.xlsx») Dim​ расшифровывать написанное другими​ файла!» Exit Sub​ далее выделить данные​

​ на один лист,​

support.office.com

объединение данных с нескольких листов книги на один (Макросы Sub)

​migo​​ всегда отличается.​
​ После группировки листов в​ кнопок внизу страницы.​ верхнюю левую ячейку​
​Примечание:​ в поле​ их можно объединить​
​ использовать оттуда. Если​ ссылками, то копирование​ = ws1.Cells(i, 2)​ этой функции не​ mass(1099, 2) For​ некрасиво​ End If ‘проходим​ на всех листах​ чтобы таблицы либо​: Все сработало, спасибо​Заранее благодарю!​ названии книги отобразится​
​ Для удобства также​ области, в которой​ Любые названия, не совпадающие​Все ссылки​ на одном листе​
​ листы одинаковы по​

​ погубит всю работу.​​ Else Debug.Print i,​

​ наработал​​ i = 1​Tumatayev​ по всем выбранным​ (Ctrl+А), при этом​ располагались одна под​
​ еще раз!!​KuklP​ надпись​ приводим ссылку на​
​ требуется разместить консолидированные​ с названиями в​.​ с помощью команды​ структуре, то легко​ ССылки обязательно должны​
​ ws1.Cells(i, 1) End​Tumatayev​ To 1099 For​: Доброе время суток!​ файлам x =​

​ выделятся только данные​​ другой, либо в​
​Матрёна​
​: ?​[Группа]​
​ оригинал (на английском​
​ данные.​
​ других исходных областях,​После добавления данных из​
​ "Консолидация". Например, если​ можно написать макро​
​ быть относительными.​ If Next For​: файл​ j = 1​
​ Еще раз нуждаюсь​ 1 While x​
​ на всех листах​
​ одну общую таблицу?​
​: migo!​
​migo​

​.​​ языке) .​Примечание:​ могут привести к​thumb​ всех исходных листов​
​ есть отдельный лист​ добавления их строк​Помните, что ценность​ i1 = 2​chumich​ To 2 mass(i,​ в вашей помощи!​
​После этого можно вернуться​ без пустых строк.​ Таблицы на листах​См. вариант.​: Спасибо, не знал​К началу страницы​
​You can quickly perform​

​ Убедитесь, что справа и​​ появлению в консолидированных​ и книг нажмите​ расходов для каждого​ «в хвост». Для​ Excel как раз​ To 31673 j2​: Вы немного переоценили​

​ j) = firstBook.Sheets(1).Cells(i,​​Нужен макрос для​smile

​ в Excel и​​ Затем в панели​ идентичные.​

​Я — не​​ про эту функцию.​
​Совет:​
​ tasks on multiple​ снизу достаточно свободных​ данных отдельных строк​ кнопку​ регионального представительства, с​ облегчения собрав предварительно​ в формулах, автоматически​ = Val(«0» &​ возможности быстродействия компьютера.​ j) Next Next​ объединение разных таблиц​ запустить созданный макрос​
​ FLEX выбрать объединить​Hugo​ программист и с​ Но к сожалению​

​ Клиентам нравятся советы. Если​​ worksheets at the​​ ячеек для консолидированных​​ или столбцов.​ОК​

​ помощью консолидации можно​​ данные об их​

​ вычисляемых.​​ ws2.Cells(i1, 1)) If​​ Вы хотите чтобы​​ secondBook.Sheets(1).Activate secondBook.Sheets(1).Range(«A1:D31673»).Copy thirdBook.Sheets(1).Activate​ (книг) excel в​ через меню​ данные на разных​: Такие вопросы без​
​ законами программирования в​ это, похоже, не​ вы можете поделиться​ same time by​ данных.​Для консолидации по расположению​

​.​​ создать на базе​

​ количестве. В противном​​А если вы​

​ j2 > 1​​ он произвел 2​ thirdBook.Sheets(1).Range(«B1»).Select ActiveSheet.Paste thirdBook.Sheets(1).Range(«B1:B31673»).Copy​ один как в​Сервис — Макрос -​ листах в одном​ примера данных в​ объектно-ориентированных средах не​ то что нужно.​ хорошим советом, добавьте​ grouping worksheets together.​На вкладке​ диапазон данных на​Для консолидации по категории​ этих данных корпоративный​ случае, надо определить​ работаете только с​ Then s1 =​
​ 669 653 824​ thirdBook.Sheets(1).Range(«A1»).Select ActiveSheet.Paste For​ примере.​ Макросы (Tools -​ листе, переключаем кнопку​

excelworld.ru

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

​ файле не решаются​​ знакома, поэтому мой​Если строить сводную​ его.​ If you group​Данные​ каждом из исходных​ диапазон данных на​ лист расходов. Такой​ критерий (ключ) ,​ данными пусть и​ mass(j2) If s1​

​ операций сравнения +​​ i1 = 1​Заранее спасибо кто​ Macro — Macros)​ на выделенные данные​
​ :)​ алгоритм тривиален и​
​ таблицу таким образом,​Если вы больше не​ a set of​в разделе​ листов должен иметь​
​ каждом из исходных​ лист может содержать​ по которому будут​ в табличной форме,​ > 0 Then​

​ вставка значений и​​ To 31673 For​ откликнется)!​или нажав​

​ на каждом листе.​

​Не надо 800,​
​ в нем есть​ то она получается​ хотите выполнять задания​ worksheets, any changes​
​Сервис​ формат списка без​
​ листов должен иметь​ итоговые и средние​

​ формироваться строки «единого»​ то можете легко​
​ ws2.Cells(i1, 6) =​ просто не можете​ k1 = 1​chumich​ALT+F8​ ВСЕ! Как бонус​ хватит 3-х.​ элемент «ущербности» -​
​ вертикально — ориентированной.​
​ на нескольких листах​
​ you make on​нажмите кнопку​ пустых строк и​
​ формат списка без​ данные по продажам,​ листа​
​ обойтись таблицами Word,​

​ s1 Else ws2.Cells(i1,​
​ дождаться, когда он​
​ To 1099 If​

​: Кликните здесь для​​. Отобразится диалоговое окно​ я еще получил​Алгоритм примерно такой​ для подсчета строк​В «списке полей​

​ одновременно, отмените группировку.​​ one worksheet are​Консолидация​ столбцов.​ пустых строк и​

​ текущим уровням запасов​​.​ там таблицы позволяют​ 6) = «Empty»​ закончит работу А​ thirdBook.Sheets(1).Cells(i1, 1) =​ просмотра всего текста​ открытия файла, где​ автоматическое проставления дат,​ — цикл по​ на листах он​ для добавления в​Удерживая клавишу CTRL, щелкните​ made in all​.​Откройте каждый из исходных​ столбцов. Кроме того,​ и наиболее популярным​: Объединение книг -​ добавлять похожие по​ Debug.Print i1; End​ так всё работает​ mass(k1, 1) Then​ Option Base 1​ необходимо указать один​

​ поскольку листы у​ всем листам, определяем​ требует наличия столба​

​ отчет» сводной таблицы​​ листы, которые хотите​ the other worksheets​Выберите в раскрывающемся списке​ листов и убедитесь​
​ категории должны быть​ продуктам в рамках​ Excel​

​ структуре видимые строки​​ If End If​
​ правильно. Кроме того,​ Cells(i1, 1) =​ Sub copyUnion() Dim​ или несколько (удерживая​ меня имели название​

​ что копировать, определем​

planetaexcel.ru

Сборка листов из разных книг в одну

​ «без дыр».​ нет возможности выбрать​ убрать из группы.​ in the group​функцию​ в том, что​ названы одинаково. Например,​ всей организации.​

​tw333k​ из других таблиц​ Next Debug.Print Debug.Print​ у вас в​ mass(k1, 2) Next​​ firstBook As Workbook​​ CTRL или SHIFT)​ дат, так что​​ куда копировать, копируем.​​В Вашем примере​ отдельные столбцы исходного​К началу страницы​

​ in the exact​, которую требуется использовать​ данные на них​ если один из​Тип консолидации следует выбирать​: Есть таблице в​ копированием или перенесением​ «время выполнение=»; (Timer​ таблице листа 2​ Next End SubИ​ Dim secondBook As​ файлов, листы из​ не пришлось даже​Остальное без данных​ я добавила столб​ диапазона данных.​Вы можете легко сгруппировать​ same location on​ для консолидации данных.​ расположены одинаково.​

​ столбцов называется​ с учетом того,​ google docs к​ через буфер, но​​ — dt1) ​ есть значения, которых​ получилась на третей​​ Workbook Dim thirdBook​​ которых надо добавить​​ редактировать таблицу.​ не сделать -​ А в таблицах​А мне нужна​ все листы книги.​ the worksheets. If​Установите флажки в группе​На конечном листе щелкните​

planetaexcel.ru

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

​Сред.​​ как выглядят объединяемые​ которой доступ только​ вычисляемых формул там​
​ 1; » sek»​ нет в таблице​ таблице «ID, ID,​ As Workbook Set​ к текущей книге.​Может эта информация​ как определять, как​ на всех листах.​

​ возможность в поле​​Щелкните правой кнопкой мыши​ you want to​
​Использовать в качестве имен​ верхнюю левую ячейку​, а другой —​

​ листы. Если данные​​ на чтение. В​​ нет.​​ »21sek »надо доработать​ листа 1 -​

​ Name, Car, Number»​​ secondBook = ActiveWorkbook​Yoooo​

​ окажется для кого​​ копировать — это​florenus​ «название строк» указывать​ ярлычок любого листа.​ create, for example,​, указывающие, где в​ области, в которой​Среднее​ на листах расположены​ таблице имеется 12​Выборку в Excel​ для объединенных ячеек​ в этом случае​ а не «City,​ Set firstBook =​: Нужно объединить таблицы​

​ то полезной.​​ сейчас сказать нельзя.​:​ несколько названий столбцов​Выберите команду​ standard tables or​ исходных диапазонах находятся​ требуется разместить консолидированные​, консолидация не просуммирует​ единообразно (названия строк​ листов которые имеют​ можно делать с​

CyberForum.ru

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

​ End Sub​​ в первой графе​ ID, Name, Car,​ Workbooks.Open(«D:\file1.xlsx») Set thirdBook​
​ со всех листов​Hugo​Hugo​KuklP​ исходной таблицы.​
​Выделить все листы​ calculations on a​

​ названия:​​ данные.​ эти столбцы.​ и столбцов могут​ одинаковую структуру (столбцы​ нескольких листов, в​Tumatayev​ таблицы листа 3​ Number»​ = Workbooks.Open(«D:\file3.xlsx») Dim​ в одну.​: В общем код​: А то вот​, не могли бы​KuklP​.​ large number of​подписи верхней строки​Примечание:​Откройте каждый из исходных​ при этом различаться),​ совпадают).​ цикле переходя с​:​ остается значение второй​chumich​ mass(15, 2) For​Проблема в том,​ выше делает примерно​ такой код -​ Вы расшифровать макрос?​: Может так(жмем кнопку)?​
​Примечание:​ worksheets, grouping can​,​ Убедитесь, что справа и​ листов.​ воспользуйтесь консолидацией по​Необходимо чтобы в​ листа на лист​shanemac51​ графы. Я попытаюсь​

​: Сначала действительно должны​​ i = 1​ что порядок показателей​
​ тоже самое, но​ подойдёт? :)​KuklP​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub www()​ Если сгруппировать все листы,​ save you a​значения левого столбца​ снизу достаточно свободных​
​На конечном листе щелкните​ расположению. Если же​ сторонний документ тянулись​ по порядку листов,​, идея бесподобна ,​ облегчить компьютеру задачу,​ происходить копирование и​ To 15 For​ в первой колонке​ на автомате.​Option Explicit​: Он не зашифрован.​Dim ws As​ а затем открыть​ lot of time.​либо оба флажка​ ячеек для консолидированных​ верхнюю левую ячейку​ на листах для​ данные со всех​ либо по списку​ правда сначала мозг​ но возможно процесс​ вставка столбца ID,​ j = 1​ разный для каждой​Если с данными​Sub tt()​florenus​ Worksheet, l&​ любой из них,​ This works best​ одновременно.​ данных.​ области, в которой​

​ соответствующих категорий используются​​ 12 листов, но​ имён листов. Всего​ остановился, пытаясь понять,​ всё равно будет​ чтобы скопировать форматирование​ To 2 mass(i,​ таблицы + иногда​ конечно повезло по​Dim sh As​:​With Sheets(«Svod»)​ группировка будет отменена.​ if the worksheets​

​Выделите на каждом листе​​На вкладке​ требуется разместить консолидированные​ одинаковые названия строк​

​ появлялись они на​​ лишь надо организовать​ но потом дошло​ достаточно долгим.​ ячеек, потом же​ j) = firstBook.Sheets(1).Cells(i,​ встречаются показатели, которых​ расположению и вообще…​ Worksheet, rr As​KuklP​.UsedRange.Offset(1).ClearContents​ Однако если выделены​ already have identical​ нужные данные. Не​Данные​ данные.​ и столбцов (данные​ одном листе​ цикл.​ Жаль, что рано​chumich​ идет цикл, который​ j) Next Next​ нет в остальных​

​DavletshinaY​​ Range, l As​, извините не правильно​
​For Each ws​ не все листы​ data structures.​ забудьте включить в​
​в разделе​Примечание:​ при этом могут​

​tw333k​​Полосатый жираф алик​

​ «спасибо» поставил -​​: Вот держите file2​ заменяет значения скопированного​ secondBook.Sheets(1).Activate secondBook.Sheets(1).Range(«A1:D19»).Copy thirdBook.Sheets(1).Activate​ таблицах.​: Здравствуйте,​ Long​ выразился. Вы не​ In Worksheets​ книги, между ними​В этой статье​ них ранее выбранные​Сервис​ Убедитесь, что справа и​ быть расположены по-разному),​: Как тянуть один​: А зачем? Что​ отзыв уже не​ с исправленным макросом.​ столбца ID на​ thirdBook.Sheets(1).Range(«B1»).Select ActiveSheet.Paste thirdBook.Sheets(1).Range(«B1:B19»).Copy​TimSha​неужели кроме как​For Each sh​ могли бы расписать​If Not ws.Name​ можно свободно переключаться,​

​Группировка выделенных листов​​ данные из верхней​нажмите кнопку​ снизу достаточно свободных​ используйте консолидацию по​ лист на лист​ за выборка? Некоторые​ берет​ Работает около 4​ значения столбца City.​ thirdBook.Sheets(1).Range(«A1»).Select ActiveSheet.Paste For​: Для чего -​ с помощью макроса​ In Worksheets​ какая команда что​ = «Svod» Then​

​ не нарушая группировки.​​Отмена группировки выделенных листов​ строки или левого​
​Консолидация​ ячеек для консолидированных​
​ категории.​ в другом файле​ вещи можно делать​Hugo121​ минут. Сделать, чтобы​ У вас только​ i1 = 1​ цель главная какая?!​ нельзя решить задачу​If sh.Name <>​ выполняет.​l = .Cells.Find(«*»,​К началу страницы​Группировка всех листов​ столбца. Затем нажмите​.​ данных.​Более новые версии​ понятно (функция importrange),​ «сквозь листы»!​, спасибо за код​ работал еще быстрее​ заголовок не заменяется​ To 20 For​Как пытались сделать,​ объединения листов в​ «Лист2» Then​Если не трудно​ [a1], xlFormulas, 1,​После внесения всех нужных​Отмена группировки всех листов​ кнопку​Выберите в раскрывающемся списке​На вкладке​ Office 2011 г.​ а вот как​Виталий лапин​ цикла по объединенным​ не смогу И​ или все значения​ k1 = 1​ что конкретно не​ один?​Set rr =​ конечно. Мне нужно,​ 1, 2).Row +​ изменений вы можете​Ниже описан пример, когда​

​Добавить​​функцию​​Данные​​ ​ их потом объединить​: в икселе есть​ ячейкам Цикл по​ обратите внимание, что​ остаются из ID?​ To 15 If​ получается?​
​Спасибо.​​ sh.[a1].CurrentRegion​ чтобы листы собирались​ 1​ отменить группировку листов.​ в книге есть​
​.​​, которую требуется использовать​в группе​Для консолидации по расположению​ не понимаю​

​ сводные таблицы, хорошая​​ колонке содержащей объединенные​
​ в файле 1​Tumatayev​ thirdBook.Sheets(1).Cells(i1, 1) =​OLEGOFF​Предположим, имеется куча книг​Set rr =​ не со второй​

​ws.UsedRange.Offset(1).Copy .Range(«a» &​​Щелкните ярлычок любого листа​ несколько листов, каждый​Путь к файлу вводится​ для консолидации данных.​Работа с данными​

CyberForum.ru

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

​ диапазон данных на​​Gustav​ вещь​ ячейки​ далеко не все​: Только заголовок меняется​ mass(k1, 1) Then​:​ Excel, все листы​ rr.Offset(2, 0).Resize(rr.Rows.Count -​ строки а с​ l)​
​ группы.​ из которых соответствует​ в поле​Выделите на каждом листе​нажмите кнопку​ каждом из исходных​: Надо создать вертикальный​
​Сергей раковец — 1с​Tumatayev​ ID из второго.​ а значение остается​
​ Cells(i1, 1) =​Yoooo​ из которых надо​ 2, rr.Columns.Count) ‘сдвиг​ первой.​End If​Выберите команду​ отдельному городу. Структура​Все ссылки​ нужные данные и​Консолидация​ листов должен иметь​ массив — перечислить​ франчайзинг​
​, как видите, я​ Поэтому в таблице​ от ID​ mass(k1, 2) Next​, макросом в VBA​ объединить в один​ выбора таблицы на​_Boroda_​Next​Разгруппировать листы​

​ всех листов одинакова​​.​ нажмите кнопку​.​ формат списка без​

​ несколько диапазонов через​​: вуву​ не один на​ третьего файла есть​

​chumich​ Next End Sub​​ можно так.​

​ файл. Копировать руками​​ 2 строки ниже​: .Offset(1) сотрите​End With​.​ и отражает продажи​После добавления данных из​Добавить​Выберите в раскрывающемся списке​ пустых строк и​ точку с запятой​Юзер честный​ форуме Общими усилиями​ одинаковые значения в​: На первый взгляд,​Во вложении работающий​Doktor1962​ долго и мучительно,​ и низ затем​Aliya​End Sub​Совет:​ кофе.​

​ всех исходных листов​​.​функцию​

​ столбцов.​​ в фигурных скобках:​: Ну, естественно, никак​ работает 40 секунд.​ 1 и 2​ всё правильно написано.​ пример. Файлы file1​: А надстройка консолидация​ поэтому имеет смысл​ на 2 строки​: Здр-те​migo​ Для разгруппирования также можно​Чтобы выполнить одинаковые задачи​ и книг нажмите​Путь к файлу вводится​, которую требуется использовать​Откройте каждый из исходных​={IMPORTRANGE(…Лист1!…);IMPORTRANGE(…Лист2!…);…IMPORTRANGE(…Лист11!…);IMPORTRANGE(…Лист12!…)}​ листы не «объединить».​

​chumich​​ столбце.​ Возможно у вас​

Как объединять данные с нескольких листов в один (Формулы/Formulas)

​ и file3 поместите​​ данных не подходит?​ использовать несложный макрос.​ выше​Aliya​: Да, то что​ щелкнуть ярлычок любого​ на определенных листах,​ кнопку​
​ в поле​ для консолидации данных.​ листов и убедитесь​tw333k​ Разве что копировать​: chumich, shanemac51​

​chumich​​ какое-то другое форматирование​ в корень диска​AleksSid​Открываем книгу, куда хотим​l = rr.Rows.Count​: у меня вопрос.​ надо! я именно​

​ листа, не входящего​​ сделайте следующее.​ОК​Все ссылки​Установите флажки в группе​ в том, что​
​: Спасибо, помогло.​

​ всю информацию с​​Спасибо огромное! Выручили​

excelworld.ru

​: у вас небольшие​

Как объеденить кучу Excel файлов в один?

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

Вопрос заключается в следующем: объективно ли будет писать данную программу на Python? Если нет, то как можно решить данную проблему проще?

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

  • Вопрос задан более трёх лет назад
  • 109281 просмотр
  • Facebook
  • Вконтакте
  • Twitter

mirzaiskandarov

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

Открываем книгу, куда хотим собрать листы из других файлов, входим в редактор Visual Basic (ALT+F11), добавляем новый пустой модуль (в меню Insert — Module) и копируем туда текст вот такого макроса:

Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

Application.ScreenUpdating = False ‘отключаем обновление экрана для скорости

‘вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:=»All files (*.*), *.*», _
MultiSelect:=True, Title:=»Files to Merge»)

If TypeName(FilesToOpen) = «Boolean» Then
MsgBox «Не выбрано ни одного файла!»
Exit Sub
End If

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

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

Объединение рабочих листов в один в табличном редакторе

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

  1. Производим открытие рабочих листов, которые мы планируем объединить в один файл.
  2. Передвигаемся в подраздел, имеющий наименование «Главная». Здесь в блоке команд «Формат» находим элемент под наименованием «Переместить или скопировать лист» и жмем по нему левой клавишей мышки.
  3. В раскрывшемся перечне жмем левой клавишей мышки на кнопку «(новая книга)».
  4. После реализации всех действий жмем на «ОК».
  5. Аналогичные операции необходимо произвести с остальными листами табличного документа.

Объединение информации в один файл

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

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

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

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

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

Объединение файлов при помощи VBA

Макросы, прописываемые в VBA, превосходно подходят для реализации процедуры объединения нескольких табличных документов в единый файл. Процедура не такая сложная, как кажется на первый взгляд. Главное – следовать пунктам подробной инструкции:

  1. Первоначально необходимо убедиться в том, что все необходимые табличные документы располагаются в одном месте персонального компьютера.
  2. На следующем этапе необходимо зайти в табличный редактор Эксель и создать в нем новую книгу, которая будет служить инструментом объединения остальных табличных документов.
  3. При помощи специальной комбинации горячих клавиш «Alt+F11» перемещаемся в «Visual Basic».
  1. Сначала нажимаем на «Вставить», а затем в появившемся перечне жмем левой клавишей мышки на элемент, имеющий наименование «Модуль».
  2. Теперь сюда необходимо написать следующий небольшой код:
  1. В переменную Path необходимо написать путь к тому месту персонального компьютера, в котором располагаются табличные документы для объединения.
  2. Производим сохранение табличного документа в формате «XLSM», чтобы активировать созданные макросы.
  3. Производим запуск макроса.
  4. Готово! Мы объединили все файлы, находящиеся в папке, в один табличный документ.

Заключение

Мы выяснили, что существует множество способов, позволяющих реализовать объединение нескольких файлов в один табличный документ. Использовать функцию под названием «Консолидация» целесообразно только в том случае, если в файлах содержится только числовая информация, так как функция не способна корректно работать с данными текстового формата. Самый эффективный способ, позволяющий качественно объединить табличный документы в один файл без потери информации, – это использование интегрированного языка программирования «Visual Basic» и активация специальных макросов. Однако каждый пользователь сможет сам подобрать более удобный для себя способ объединения табличных документов.

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

Нужно объединить несколько наборов данных в одну электронную таблицу? Вот как.

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

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

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

когда дело доходит до слияния листов или файлов в Excel.

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

Excel позволяет легко объединить несколько листов в новую рабочую книгу.

  1. Откройте листы, которые вы хотите объединить.
  2. Нажмите Главная >Формат >Переместить или скопировать лист.
  3. Используйте выпадающее меню, чтобы выбрать (новая книга).
  4. Нажмите Хорошо.

Объединение листов в одну рабочую книгу

Самый простой способ объединить листы в Excel — это использовать Переместить или скопировать лист команда. Этот метод имеет свои ограничения, но он быстрый и простой.

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

объединить листы Excel

Вы должны увидеть эти элементы управления:

объединить листы Excel

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

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

Повторите этот процесс с остальными листами, которые вы хотите объединить. Затем сохраните новый мастер-документ.

Объединение данных в один лист

Иногда вам может понадобиться взять несколько наборов данных и представить их как один лист. Это довольно легко сделать в Excel, если вы потратите время на то, чтобы ваши данные были отформатированы заблаговременно.

объединить данные Excel в один лист

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

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

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

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

консолидировать данные Excel

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

консолидировать данные Excel

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

консолидировать данные Excel

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

Наконец, нажмите Хорошо.

консолидировать данные Excel

Вы должны получить что-то вроде скриншота выше. К сожалению, этот процесс не подходит, если вы хотите объединить ячейки с текстом в них — он работает только с числовыми данными. В этой ситуации вам нужно будет использовать VBA

Объединение рабочих тетрадей с VBA

Если вы хотите объединить листы из нескольких книг за один раз, лучше всего написать простой макрос VBA

, Это особенно удобно, если вы будете выполнять эту задачу на регулярной основе.

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

Голова к разработчик вкладка и нажмите Visual Basic.

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

Нажмите Вставить> Модуль и скопируйте и вставьте следующий код, взятый из руководства ExtendOffice:

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

Затем сохраните вашу книгу как файл XLSM, чтобы макросы были включены

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

Смотри, прежде чем прыгать

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

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

Лучше рассмотреть все возможности того, что файл понадобится для дальнейшего развития.

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

У вас есть совет для объединения различных наборов данных? Или вы ищете помощь с методами в этом руководстве? В любом случае, почему бы не присоединиться к беседе в разделе комментариев ниже?

Иногда нужные данные Microsoft Excel разбиваются на несколько листов или даже файлов. Может быть намного удобнее хранить всю эту информацию в одном документе.

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

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

В Excel легко объединить несколько листов в новую книгу. Объедините листы, создав новую книгу:

  1. Откройте листы, которые хотите объединить.
  2. Щелкните Главная > Формат > Переместить или скопировать лист .
  3. В раскрывающемся меню выберите (новая книга) .
  4. Щелкните ОК .

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

Самый простой способ объединить листы в Excel – использовать команду « Переместить» или «Копировать лист» . Этот метод объединения листов в Excel имеет свои ограничения, но он быстрый и простой.

Сначала откройте листы, которые хотите объединить в одну книгу. Оттуда:

  1. Направляйтесь домой
  2. Щелкните Форматировать
  3. Выберите переместить или скопировать лист

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

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

Повторите этот процесс с остальными листами, которые хотите объединить. Затем сохраните новый составной документ.

Объединить данные 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 отлично подходит для создания документов, к которым вы можете обращаться и использовать в течение длительного периода времени, но решения, принятые на раннем этапе, могут вызвать или предотвратить проблемы позже. Как говорится, унция профилактики.

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

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

Если данные, которые требуется проанализировать, представлены на нескольких листах или в нескольких книгах, их можно объединить на одном листе с помощью команды «Консолидация». Например, если есть отдельный лист расходов для каждого регионального представительства, с помощью консолидации можно создать на базе этих данных корпоративный лист расходов. Такой лист может содержать итоговые и средние данные по продажам, текущим уровням запасов и наиболее популярным продуктам в рамках всей организации.

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

Консолидация по расположению

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

Откройте каждый из исходных листов и убедитесь в том, что данные на них расположены одинаково.

На конечном листе щелкните верхнюю левую ячейку области, в которой требуется разместить консолидированные данные.

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

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

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

Выделите на каждом листе нужные данные.

Путь к файлу вводится в поле Все ссылки.

После добавления данных из всех исходных листов и книг нажмите кнопку ОК.

Консолидация по категории

Для консолидации по категории диапазон данных на каждом из исходных листов должен иметь формат списка без пустых строк и столбцов. Кроме того, категории должны быть названы одинаково. Например, если один из столбцов называется Сред., а другой — Среднее, консолидация не просуммирует эти столбцы.

Откройте каждый из исходных листов.

На конечном листе щелкните верхнюю левую ячейку области, в которой требуется разместить консолидированные данные.

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

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

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

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

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

Путь к файлу вводится в поле Все ссылки.

После добавления данных из всех исходных листов и книг нажмите кнопку ОК.

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

Консолидация по расположению

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

Откройте каждый из исходных листов и убедитесь в том, что данные на них расположены одинаково.

На конечном листе щелкните верхнюю левую ячейку области, в которой требуется разместить консолидированные данные.

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

На вкладке Данные в разделе Сервис нажмите кнопку Консолидация.

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

Выделите на каждом листе нужные данные и нажмите кнопку Добавить.

Путь к файлу вводится в поле Все ссылки.

После добавления данных из всех исходных листов и книг нажмите кнопку ОК.

Консолидация по категории

Для консолидации по категории диапазон данных на каждом из исходных листов должен иметь формат списка без пустых строк и столбцов. Кроме того, категории должны быть названы одинаково. Например, если один из столбцов называется Сред., а другой — Среднее, консолидация не просуммирует эти столбцы.

Откройте каждый из исходных листов.

На конечном листе щелкните верхнюю левую ячейку области, в которой требуется разместить консолидированные данные.

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

На вкладке Данные в разделе Сервис нажмите кнопку Консолидация.

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

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

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

Путь к файлу вводится в поле Все ссылки.

После добавления данных из всех исходных листов и книг нажмите кнопку ОК.

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

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

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

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

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

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

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

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

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

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

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

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

Объединить листы: собрать данные с нескольких листов на один сводный лист в секунды

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

С надстройкой «Объединить листы», вы сможете собрать данные на один сводный лист в считанные секунды:

  • Собрать данные листов из разных книг на одном листе
  • Собрать данные листов с одинаковым именем и объединить по имени вкладки
  • Объединить данные листов с идентичной структурой под одним заголовком
  • Сохранить форматирование в сводном листе результата

Добавить «Объединить листы» в Excel 2019, 2016, 2013, 2010

Подходит для: Microsoft Excel 2019 – 2010, desktop Office 365 (32-бит и 64-бит).

Как работать с надстройкой:

Как объединить данные из нескольких листов в один в один за 3 шага

С надстройкой «Объединить листы» вы можете собрать и объединить данные нескольких листов — и из разных книг — в один главный лист всего за 3 шага:

1. Нажмите кнопку «Объединить листы» на панели XLTools > Выберите тип операции:

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

3. Нажмите кнопку «Объединить» > Готово! Все данные скопированы на один главный сводный лист.

Как объединить данные нескольких листов на одном сводном листе

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

  1. Нажмите кнопку «Объединить листы» > Выберите «Объединить данные нескольких листов на одном листе».
  2. Отметьте флажком «Таблицы с заголовками», если это так.
    Совет: так, данные будут объединены под единым заголовком. Это удобно, если структура листов, которые вы объединяете, единообразна, напр., если отчёты созданы по одному шаблону. Если заголовки не совпадают, каждый диапазон данных будет добавлен со своим заголовком.
  3. Выберите листы для объединения, установив соответствующие флажки в дереве данных.
  4. Нажмите кнопку «Объединить» > Готово, все данные из выбранных листов собраны на одном главном листе в новой книге.

Внимание: не забудьте сохранить эту сводную книгу на свой компьютер.

Как объединить данные из листов c одинаковым именем на одном сводном листе

Предположим, у вас есть ряд книг, и каждая из них содержит отчёт о региональных продажах. Каждый отчёт разбит на листы с данными по конкретным продуктам — таким образом, вкладки в региональных отчётах имеют одинаковые названия. Надстройка поможет вам скопировать данные по всем отчётам в один сводный лист.

  1. Нажмите кнопку «Объединить листы» > Выберите «Объединить данные листов с одинаковым именем на одном листе».
  2. Отметьте флажком «Таблицы с заголовками», если это так.
    Совет: так, данные будут объединены под единым заголовком. Это удобно, если структура листов, которые вы объединяете, единообразна, напр., если отчёты созданы по одному шаблону. Если заголовки не совпадают, каждый диапазон данных будет добавлен со своим заголовком.
  3. Выберите листы для объединения, установив соответствующие флажки в дереве данных.
    Совет: вместо поочерёдного объединения листов с одинаковым называнием по группам (одна именная группа за другой), вы можете выбрать их все сразу. Надстройка автоматически соберет данные по одинаковым названиям вкладок и вынесет их на соответствующие отдельные листы сводной книги.
  4. Нажмите кнопку «Объединить» > Готово, все данные выбранных листов с одинаковым именем собраны в новой сводной книге.

Внимание: не забудьте сохранить эту сводную книгу на свой компьютер.

Каким образом данные копируются на сводный лист

Объединение данных по сути означает извлечение и копирование данных из нескольких исходных листов на новый лист.

  • Данные копируются полностью — весь диапазон до последней использованной ячейки на исходном листе.
  • Скопированные диапазоны добавляются последовательно, один диапазон под последней строкой предыдущего диапазона.
  • Надстройка XLTools «Объединить листы» сохраняет форматирование ячеек и таблиц, ссылки на ячейки, функции и формулы, объединённые ячейки, т.д.
  • Исходные данные не подвергаются изменениям.

Как объединить несколько листов в одну книгу

Вы можете объединить несколько листов в одну книгу с помощью надстройки XLTools Органайзер книг. Она помогает копировать и управлять множеством листов одновременно.

Появились вопросы или предложения? Оставьте комментарий ниже.

8 Комментариев к Объединить листы: собрать данные с нескольких листов на один сводный лист в секунды

Нужно было объединить таким образом несколько больших файлов из регионов. Каждый во что горазд — был единый образец — но всем нужно обязательно что-то от себя добавить, например у нескольких файлов пустые столбцы уходили до XYZ. Данная функция объединяла листы целиком — вместе с пустыми ячейками — в итоге комп начинал громко пыхтеть и тужиться а потом надолго зависал. Вручныю скопировать вставить быстрее бы получилось (

Руслан, добрый день! Спасибо, что написали. Надстройка сейчас хорошо объединяет однотипные листы. Но идеально подготовленные данные встречаются не часто, особенно, если участвует много людей. Так что мы думаем, как улучшить надстройку. Для вашего случая, думаю, нужно предварительное удаление пустых строк-столбцов. Мы поставим это в план на следующие релизы. Спасибо!

Здравствуйте, как производить объединение двух и более листов, если в каждой таблицы совпадение по наименованию идет по одному. Например у меня есть лист «Стран» и есть лист «Города» у них сопадение идет только по полю «ID страна», аналогично по товарам: в одном листе данные «категории товаров», а в другом где «продукты» у них объединение нужно сделать именно по «ID категория»

Карашаш, добрый день!
Надстройка «Объединение листов» сейчас больше рассчитана на объединение отнотипных по структуре листов. В Вашем случае лучше подойдет надстройка «SQL запросы». Она поможет объединить таблицы по ключевому полю.

При объединении нескольких листов в один удаляются ли дубликаты данных (при их наличии)?

Дмитрий, добрый день! При объединении листов создается новая сводная книга, куда копируются данные каждого листа (все строки первого, ниже все строки второго, т.д.). Поэтому нет, дубликаты не удаляются и в исходные данные изменений не вносится.

Спасибо! Отличная надстройка. Сколько стоит после пробного периода?

Евгения, спасибо! Надстройка «Объединить листы» входит в любой из трех пакетов лицензий — Базовая, PRO и GURU. Выбирайте, какой пакет вам больше подойдет.

Объединение листов в Excel

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

1. Выделите ярлык первого листа.

2. Нажмите Shift и щелкните ярлык последнего листа.

Ярлыки объединенных листов Excel станут выделенными. Для объединения несмежных листов:

1. Выделите ярлык первого листа.

2. Нажмите Ctrl и щелкайте ярлыки тех листов, которые должны быть включены.

Ярлыки объединенных листов станут выделенными.

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

Создание общего заголовка для группы листов

1. Создайте в новой рабочей книге Excel четыре листа с именами Отдел1, Отдел2, ОтделЗ и Общий список.

2. Выберите ярлык листа Отдел1.

3. Нажмите Shift и щелкните ярлык листа Excel ОтделЗ (будут выделены листы Отдел1, Отдел2, ОтделЗ, которые должны быть включены в группу).

4. Выделите ячейку А1 и введите текст: Список сотрудников по отделам на 01.07.2000 г.

5. Примените форматирование шрифта Размер 12, Полужирный.

6. Выделите несколько соседних ячеек (А1:Е1 по размеру таблицы).

7. Нажмите кнопку Объединить и поместить в центрена панели Форматирование.

8. Для отмены объединения листов щелкните ярлык листа Общий список, не принадлежащего к группе.

9. Просмотрите заголовки на трех листах (Отдел1, Отдел2, ОтделЗ) и убедитесь, что заголовка на листе Общий список нет.

10. Введите элементы списка по отделам.

11. Скопируйте введенные данные на лист Общий список и сохраните файл с именем Список_сотрудников.х1s.

Как объединить файлы Excel? Объединение листов в одну книгу

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

Одновременная работа пользователей в одной книге

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

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

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

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

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

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. выбирать файлы для объединения, а также редактировать список выбранных файлов;

3. объединять все листы выбранных файлов в одну рабочую книгу;

4. объединять в рабочую книгу только непустые листы выбранных файлов;

5. собирать в итоговую книгу листы с заданным именем (можно использовать маску при помощи спец. символов совпадения);

6. собирать в одну книгу листы выбранных файлов с определенным номером (индексом), либо диапазоном номеров;

7. собирать листы с определенным значением в заданном диапазоне ячеек;

8. задавать дополнительные параметры для объединения, такие как:

а) присвоение листам имен объединяемых файлов;

б) удаление из книги, в которой происходит объединение данных, собственных листов, которые были в этой книге изначально;

в) замена формул значениями (результатами вычислений).

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

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

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

Learn everything about how to merge sheets in Excel, plus how to combine multiple Excel files into one.

using Microsoft Excel on a laptop

Sometimes, the Microsoft Excel data you need is split across multiple sheets or even multiple files. It can be significantly more convenient to have all of this information in the same document.

You can copy and paste the cells you need in a pinch, placing them all on the same sheet. However, depending on how much data you’re working with, this might take a lot of time and effort.

Instead, we’ve rounded up some smarter ways to accomplish the same task. These methods will allow you to quickly and easily merge sheets or files in Excel.

How to Combine Excel Sheets Into One File

If you have multiple Excel files, perhaps each containing numerous sheets, that you want to combine into a single file, you can do this with the Move or Copy Sheet command. This method of merging Excel sheets has its limitations, but it’s quick and straightforward.

First, open up the sheets you want to merge into the same workbook. From there:

  1. From the top ribbon, select the Home tab.
  2. Within the Cells group, click Format.
  3. Select Move or Copy Sheet.

excel move or copy sheet

This opens the Move or Copy window. The To book dropdown lets you select the master spreadsheet where you want to send all of your individual sheets. Select (new book) to create a new file, or select an existing file. Use the Before sheet box to specify the order that the sheets are in (this will be blank if you’re using a new book). When ready, click OK.

Repeat this process for all the sheets that you wish to merge. To save time, you can select multiple sheets in a file by holding Ctrl as you click their tabs at the bottom.

Once done, save your new master document.

For the reverse of this, we’ve also covered how to split a large CSV into separate files.

How to Combine Excel Sheets Into One File With VBA

Rather than performing the above combination technique manually, the quicker way is to use a VBA macro. This will come in especially handy if you perform this task regularly.

First, make sure that all the files you want to combine are in the same folder on your computer. Then, create a new Excel spreadsheet that will bring them all together.

Head to the Developer tab. Within the Code section, select Visual Basic. Click Insert > Module.

For this process, we consulted ExtendOffice. Copy and paste the following code:

 Sub GetSheets()
Path = "C:FILE PATH"
Filename = Dir(Path & "*.xlsx")
  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

Make sure to change the path on the second line to wherever the files are stored on your computer.

Next, click the run button (or press F5) to execute the macro. This will immediately combine all the Excel sheets into your current file. Close the Visual Basic window to return to your spreadsheet and see the result. Don’t forget to save the changes.

How to Merge Excel Data Into One Sheet

Sometimes, you might want to take more than one dataset and present it as a single sheet. This is pretty easy to accomplish in Excel, so long as you take the time to ensure that your Excel data is organized and formatted properly ahead of time.

There are two important conditions for this process to work correctly. First, the sheets you’re consolidating need to use the same layout, with identical headers and data types. Second, there can’t be any blank rows or columns.

When you’ve arranged your data to those specifications, create a new worksheet. It’s possible to run the consolidation procedure in an existing sheet where there’s already data, but it’s easier not to.

excel consolidate

  1. In this new sheet, select the upper-left cell of where you want to place the consolidated data.
  2. Select the Data tab.
  3. Within the Data Tools section, click Consolidate.
  4. On the Function dropdown, select your desired summary function. The default is Sum, which adds values together.
  5. Click the up arrow button in the Reference field. If the data is in another file, use the Browse button.
    1. Highlight the range you wish to consolidate.
    2. Click Add to add the range to All references.
  6. Repeat step five until you’ve selected all the data that you want to consolidate.
  7. Check Create links to source data if you’re going to continue to update the data in other sheets and want this new sheet to reflect that. You can also select which labels are carried across with the Use labels in checkboxes.
  8. Finally, click OK.

Take Caution Before Merging Excel Data

Merging sheets and files in Excel can be complicated and messy. This illuminates one of the most important lessons about Microsoft Excel: it’s always good to plan ahead.

Merging different data sets after the fact is always going to cause a few headaches, especially if you’re working with large spreadsheets that have been in use for a long time. When you start working with a new workbook, it’s best to consider all possibilities of how you will use the file further down the line.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как объединить несколько страниц в одну в excel
  • Как объединить листы в одну группу в excel в один
  • Как объединить несколько столбцов в одну в excel
  • Как объединить листы в word в один
  • Как объединить листы в excel в одну папку

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии