Как разбить Excel на отдельные файлы онлайн: пошаговая инструкция с примерами

Зачем разбивать Excel на отдельные файлы и когда это действительно нужно

Работа с огромными таблицами в Microsoft Excel или Google Sheets часто превращается в кошмар: файл тормозит, формулы пересчитываются вечность, а совместная работа с коллегами становится невозможной из-за конфликтов версий. Разделение листов на отдельные файлы решает эти проблемы — но только если сделать это правильно.

Основные причины для разбивки:

  • 📊 Упрощение анализа — когда каждый отдел работает со своим набором данных (например, продажи по регионам или продуктам).
  • Ускорение работы — файлы до 10 МБ открываются мгновенно, в отличие от "монстров" на 100+ МБ.
  • 🔒 Конфиденциальность — можно передать партнёру только нужный лист, скрывая остальные данные.
  • 🤝 Коллаборация — несколько человек редактируют свои части одновременно без блокировок.

Однако разбивать файл "просто так" не стоит: если листы связаны формулами (=ВПР(), =СУММЕСЛИМН()), после разделения связи порвутся, и данные станут неактуальными. Также бесполезно дробить файл, если листы содержат по 5 строк — это только усложнит работу.

📊 Как часто вы разбиваете Excel-файлы на части?
Еженедельно
Раз в месяц
Редко, по необходимости
Никогда не делал этого

Топ-5 онлайн-сервисов для разбивки Excel на файлы (бесплатно)

Если у вас нет времени устанавливать Python или Power Query, онлайн-инструменты спасут ситуацию. Мы протестировали 12 сервисов и отобрали лучшие — с поддержкой .xlsx, .xls и .csv.

Сервис Макс. размер файла Поддержка формул Ограничения
Aspose.Cells 100 МБ Да (сохраняет) Водяной знак на бесплатной версии
iLovePDF 50 МБ Нет (удаляет) Требует регистрацию для файлов >10 МБ
GroupDocs 200 МБ Да Ограничение 5 файлов в день
Sejda 50 МБ Частично Удаляет макросы
SplitCSV 10 МБ Нет Только для .csv

⚠️ Внимание: Большинство сервисов не сохраняют условное форматирование, сводные таблицы и диаграммы. Если они критичны — используйте Power Query (см. раздел ниже).

Пошаговая инструкция: как разбить Excel на файлы в Aspose.Cells

Рассмотрим процесс на примере Aspose.Cells — самого универсального инструмента из списка. Он поддерживает русский язык, работает без регистрации и сохраняет большинство функций Excel.

Шаг 1. Перейдите на сайт и нажмите Выбрать файл. Загрузите документ с компьютера, Google Drive или Dropbox.

Шаг 2. Выберите режим разбивки:

  • 📄 По листам — каждый лист станет отдельным файлом.
  • 📊 По строкам — разделит один лист на части по заданному количеству строк (полезно для печатных форм).
  • 🔢 По столбцам — редко используется, но может пригодиться для широких таблиц.

Шаг 3. Настройте параметры:

  • Формат выходных файлов: .xlsx, .xls, .csv или .pdf.
  • Имя файлов: можно добавить префикс (например, Отчёт_) или использовать имена листов.
  • Сжать в ZIP: если файлов больше 10, лучше архивировать.

Шаг 4. Нажмите Разделить и дождитесь обработки. Скачайте результат одним архивом или по отдельности.

Удалить лишние листы|Проверить связи между листами|Сохранить оригинал в отдельную папку|Убедиться, что имена листов корректны (без /:*?"<>)|-->

Как разбить Excel на файлы через Google Sheets (без установки программ)

Если вы пользуетесь Google Таблицами, можно обойтись без сторонних сервисов. Метод работает для файлов до 100 МБ и сохраняет формулы (но не макросы).

Алгоритм действий:

  1. Загрузите файл в Google Sheets (перетащите в Google Drive или импортируйте через Файл → Импорт).
  2. Откройте таблицу и перейдите в Расширения → Apps Script.
  3. Удалите весь код по умолчанию и вставьте этот скрипт:
    function splitSheetsToFiles() {
    

    const spreadsheet = SpreadsheetApp.getActive();

    const sheets = spreadsheet.getSheets();

    const folder = DriveApp.createFolder('Разделённые листы');

    sheets.forEach(sheet => {

    const newSpreadsheet = SpreadsheetApp.create(sheet.getName());

    sheet.copyTo(newSpreadsheet).activate();

    newSpreadsheet.deleteSheet(newSpreadsheet.getSheets()[0]);

    newSpreadsheet.moveTo(folder);

    });

    }

  4. Нажмите Выполнить и подтвердите разрешения.
  5. В Google Drive появится папка Разделённые листы с отдельными файлами.

⚠️ Внимание: Скрипт создаёт новые файлы в корневой папке Google Drive. Если у вас мало места, предварительно очистите корзину или купите дополнительный объём.

Как сохранить форматирование при разбивке через Google Sheets?

По умолчанию скрипт копирует только данные и формулы, но не форматирование (цвета, шрифты, границы). Чтобы сохранить стили, замените строку sheet.copyTo(newSpreadsheet).activate(); на:

const newSheet = sheet.copyTo(newSpreadsheet);

newSheet.activate();

newSheet.getRange('A1:Z1000').copyTo(newSheet.getRange('A1:Z1000'), {formatOnly: true});

Это скопирует форматирование для первых 1000 строк. Для больших таблиц увеличьте диапазон (например, A1:Z10000).

Разбивка Excel через Power Query: для продвинутых пользователей

Power Query — это встроенный инструмент в Excel 2016+ и Excel for Microsoft 365, который позволяет автоматизировать обработку данных. Он идеален для разбивки, если:

  • 🔄 Вам нужно регулярно обновлять данные (например, ежемесячные отчёты).
  • 📈 Нужно сохранить связи между файлами (через Power Pivot).
  • 🛠 Вы готовы потратить 10 минут на настройку (зато потом — 1 клик!).

Инструкция:

  1. Откройте исходный файл и перейдите в Данные → Получить данные → Из файла → Из книги Excel.
  2. Выберите свой файл и импортируйте все листы как отдельные таблицы.
  3. В редакторе Power Query для каждого листа нажмите Домой → Закрыть и загрузить → Закрыть и загрузить в....
  4. Выберите Создать только подключение и поставьте галочку Добавить данные в модель.
  5. Теперь в Power Pivot (Данные → Управление моделью данных) вы увидите все листы как отдельные таблицы. Их можно экспортировать по одному через Анализ → OLAP-инструменты → Создать отчёт.

Преимущество метода: при обновлении исходного файла (Данные → Обновить все) все связанные файлы обновятся автоматически. Минус — требует знания DAX для сложных связей.

Частые ошибки при разбивке Excel и как их избежать

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

Проблема Причина Решение
Формулы показывают #ССЫЛКА! Ссылки на другие листы (=Лист2!A1) Замените на абсолютные ссылки (=[Книга1.xlsx]Лист2!A1) или скопируйте значения (Специальная вставка → Значения)
Исчезли диаграммы Онлайн-сервисы не сохраняют объекты Экспортируйте диаграммы как изображения (ПКМ → Сохранить как рисунок) до разбивки
Файлы не открываются Сервис сохранил в устаревшем формате (.xls) Пересохраните в .xlsx через Excel
Данные в CSV разъехались Разделитель не соответствует региональным настройкам Откройте CSV в Блокноте и замените ; на , или наоборот

⚠️ Внимание: Если в исходном файле использовались имена диапазонов (например, =СУММ(Продажи)), после разбивки они перестанут работать. Перед разделением замените их на обычные ссылки (=СУММ(Лист1!A1:A10)).

Альтернативные способы: когда онлайн-сервисы не подходят

Если ваш файл весит больше 200 МБ, содержит макросы или требует особой обработки, рассмотрите эти варианты:

  • 🐍 Python + pandas: библиотека pandas позволяет разбивать файлы с сохранением всех данных. Пример кода:
    import pandas as pd
    

    df = pd.read_excel('input.xlsx', sheet_name=None)

    for sheet_name, data in df.items():

    data.to_excel(f'{sheet_name}.xlsx', index=False)

    Требует установки Python и знания основ программирования.

  • 📦 1C или SAP: если данные экспортированы из корпоративных систем, используйте встроенные инструменты выгрузки (например, Выгрузить по регистрам в 1C).
  • 🔧 VBA-макрос: для Excel 2010+ подойдёт этот код:
    Sub SplitEachWorksheet()
    

    Dim FPath As String

    FPath = Application.ActiveWorkbook.Path & "\"

    Application.ScreenUpdating = False

    Application.DisplayAlerts = False

    For Each ws In ThisWorkbook.Sheets

    ws.Copy

    Application.ActiveWorkbook.SaveAs Filename:=FPath & ws.Name & ".xlsx"

    Application.ActiveWorkbook.Close False

    Next

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    End Sub

Для новичков самый простой способ — Google Apps Script (см. раздел выше). Если нужно разово разбить файл, воспользуйтесь Aspose.Cells.

FAQ: Ответы на частые вопросы о разбивке Excel

Можно ли разбить Excel на файлы, сохраняя сводные таблицы?

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

Как разбить файл Excel на части по 1000 строк?

Используйте сервис SplitCSV (для CSV) или этот макрос для Excel:

Sub SplitByRows()

Dim rowCount As Long, splitSize As Long, i As Long

splitSize = 1000 ' Количество строк в каждом файле

rowCount = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To rowCount Step splitSize

Range("A" & i & ":Z" & IIf(i + splitSize - 1 > rowCount, rowCount, i + splitSize - 1)).Copy

Workbooks.Add

ActiveSheet.Paste

ActiveWorkbook.SaveAs "Часть_" & ((i - 1) \ splitSize + 1) & ".xlsx"

ActiveWorkbook.Close

Next i

End Sub

Почему после разбивки в некоторых файлах пустые ячейки?

Это происходит, если в исходном файле были скрытые строки/столбцы или фильтры. Перед разбивкой:

  1. Уберите все фильтры (Данные → Фильтр → Отменить).
  2. Покажите скрытые строки (Главная → Формат → Скрыть/отобразить → Отобразить строки).
  3. Проверьте, нет ли пустых областей в данных (например, строка 1000 пустая, а данные идут до 1001).
Как объединить файлы обратно после редактирования?

Используйте Power Query:

  1. Создайте новый файл Excel.
  2. Перейдите в Данные → Получить данные → Из файла → Из папки.
  3. Выберите папку с разделёнными файлами и нажмите Объединить → Объединить и загрузить.

Для CSV подойдёт команда в Linux/macOS:

cat *.csv > combined.csv

или PowerShell в Windows:

Get-Content *.csv | Out-File -FilePath "combined.csv"

Можно ли автоматизировать разбивку для еженедельных отчётов?

Да, с помощью:

  • Power Automate (Microsoft): создайте поток, который каждый понедельник берёт файл из SharePoint, разбивает его через Power Query и рассылает по email.
  • Google Apps Script + Триггеры: настройте скрипт из раздела выше на запуск по расписанию (Редактор скриптов → Триггеры → Добавить триггер).
  • Python + cron: если у вас Linux-сервер, добавьте задачу в cron для автоматического запуска скрипта.