Пустые строки и строки-разделы в выгрузках: чистка перед загрузкой

Поставщик прислал прайс «красивый, как на печать»: 3 000 строк, из которых сотни четыре — не товары вовсе. Пустые отбивки между блоками, разделы «Смартфоны» и «Аксессуары» отдельными строками, «Итого по разделу», «Продолжение на следующей странице» и повтор шапки на каждом печатном листе. Похожую картину выдают выгрузки из учётных систем: 1С и её аналоги сохраняют в Excel печатную форму, а не таблицу. Пока файл не почистить, площадка его не примет — и правильно сделает.

Какой мусор живёт в выгрузках и «печатных» прайсах

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

  • Пустые строки-отбивки — визуальные разделители между блоками товаров.
  • Строки-разделы категорий — «Смартфоны», «Аксессуары»: одно название на всю строку, без артикула и цены.
  • Итоги — «Итого по группе», «Всего»: полезны бухгалтеру, вредны при загрузке.
  • Служебные строки печати — «Продолжение на странице 3», повтор шапки таблицы на каждом листе.
  • Подвал документа — «Прайс действителен до…», телефоны менеджера, подпись директора.

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

Чем мусорные строки ломают загрузку

  • Пустой артикул. Раздел попадает в товары: у строки «Смартфоны» нет артикула — площадка отклоняет строку, а при массовых ошибках останавливает файл целиком.
  • Текст в числовой колонке. «Итого» или «Продолжение…» в колонке цены — и колонка перестаёт быть числовой: загрузка падает с ошибкой типа данных.
  • Товар-призрак. Повтор шапки превращается в позицию с названием «Наименование» и ценой «Цена» — вылавливать её придётся уже на площадке.
  • Пустые строки ломают сортировку и склейки ещё в самом Excel, а некоторые загрузчики считают их товарами с пустыми обязательными полями.

Как отличить строку-раздел от товара

Признак один — заполненность. У раздела непустое поле ровно одно: название. Артикул, цена и остаток пустые. У товара, даже заполненного криво, непустых полей минимум два.

СтрокаАртикулЦенаВердикт
Смартфоны——Раздел
Смартфон X200, 128 ГбSM-X20024 990Товар
Итого по разделу—1 245 000Итог, в удаление

Обратите внимание на третью строку: у итога заполнена сумма, поэтому признаком «одно поле» он не ловится — его убирают по тексту.

Чистка в конвертере: сначала структура, потом фильтры

Откройте конвертер для чистки прайсов и загрузите файл как есть. На шаге «Структура» виден исходник целиком — с разделами, отбивками и итогами:

Сырая выгрузка из учётной системы: пустые строки, разделы и итоги между товарами
Исходный файл: товары перемешаны с разделами, отбивками и «Итого»

Укажите, с какой строки начинается таблица, — это отрежет шапку документа с реквизитами. Строки-разделы отправьте в удаление: конвертер находит их по тому самому признаку «заполнено одно поле». Если заголовки сами занимают две строки, они схлопываются здесь же — подробнее об этом в статье про многострочные заголовки.

Шаг «Структура»: первая строка таблицы и удаление строк-разделов
Разделы найдены по признаку «заполнено одно поле» и отправлены в удаление

То, что структурой не берётся, добивают фильтры на одноимённом шаге. Рабочая тройка условий:

  • «Название не содержит Итого» — срезает итоги и строку «Всего»;
  • «Артикул не пустой» — убирает пустые строки и подвал документа;
  • «Цена больше 0» — отсекает строки, где вместо цены текст или ноль.

Условия складываются по «и»: в итоговый файл попадут только строки, прошедшие все три. Другие полезные связки разобраны в статье про удаление строк по условию.

Фильтры «не содержит Итого», «артикул не пустой», «цена больше 0»
Три условия добивают мусор, который не ловится на шаге структуры

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

Разделы — это категории: сначала сохранить, потом удалить

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

Частые вопросы

Как удалить все пустые строки в Excel разом?

Автофильтром: выделите шапку, нажмите Ctrl+Shift+L, в ключевой колонке выберите «Пустые», выделите видимые строки и удалите их. Второй путь: Ctrl+G → «Выделить» → «Пустые ячейки» → правый клик → «Удалить» → «строку». В конвертере пустые строки отсекаются фильтром «Артикул не пустой» — без ручного выделения.

Как отличить строку-раздел от товара с незаполненными полями?

По заполненности: у раздела непусто только название, артикул и цена пустые. У товара с пропусками заполнено минимум два поля — например, артикул и название. Сомнительные строки проверяйте глазами в превью перед экспортом: лишнее условие поправляется за секунду, а исходный файл не страдает.

Разделы содержат названия категорий — как удалить их, не потеряв категории?

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

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

Сверяйте по исходному файлу — конвертер его не меняет, итоги в нём остаются. В файл для загрузки они не попадут благодаря фильтру «не содержит Итого», так что суммы можно сверить и до, и после обработки.