Линейный раскрой металла в Excel чаще всего разваливается на этапе, когда деталей больше десятка, а стандартные хлысты по 6 или 12 метров перестают складываться в очевидные комбинации — и таблица, посчитанная вручную, даёт перерасход материала на целый прокат. Задача линейного (одномерного) раскроя формулируется просто: есть заготовки фиксированной длины (труба, профиль, арматура, уголок) и список деталей разной длины, которые нужно из них нарезать с минимумом отходов. Excel справляется с этой задачей без специализированных программ, если правильно построить модель.
Ниже разберём два рабочих подхода: расчёт через надстройку Поиск решения (Solver) и ручную схему с формулами для небольших номенклатур. Оба метода проверяемы, воспроизводимы и не требуют макросов, хотя вариант на VBA тоже кратко рассмотрим.
Что такое задача линейного раскроя и когда Excel подходит
Задача линейного раскроя (cutting stock problem) — классическая задача оптимизации: минимизировать количество исходных заготовок или суммарные отходы при заданном наборе деталей. В металлообработке это трубы, сортовой прокат, арматура, швеллеры, которые поставляются мерными или немерными длинами.
Excel оправдан, когда номенклатура деталей умеренная — ориентировочно до нескольких десятков позиций — и раскрой выполняется периодически, а не в потоке. Для ежедневного массового раскроя на производстве удобнее специализированные программы, но для разовых заказов, строительной площадки или небольшого цеха таблица в Excel полностью закрывает потребность.
Ключевое ограничение: классический Поиск решения работает с ограниченным числом переменных и ограничений, поэтому модель нужно строить экономно — не перебирать все мыслимые комбинации, а задавать разумный набор шаблонов раскроя.
Подготовка исходных данных для расчёта
Прежде чем строить формулы, соберите три блока данных. Первый — длина исходных заготовок: например, труба 6 м или 11,7 м, если поставщик отгружает немерный прокат. Второй — перечень деталей: длина каждой позиции и требуемое количество. Третий — технологические припуски: ширина реза (пропил дисковой пилой или ленточной пилой обычно составляет несколько миллиметров) и минимально допустимый остаток, который ещё можно считать деловым, а не отходом.
- 📏 Длина хлыста — берите из сертификата поставщика или спецификации, а не «по памяти».
- 📋 Список деталей — длина в миллиметрах, количество штук, без пропусков.
- 🪚 Ширина реза — уточните по инструменту, она напрямую съедает полезную длину.
- ♻️ Порог делового остатка — отрезки короче него сразу считайте отходом.
⚠️ Внимание: если не учесть ширину пропила, расчёт покажет красивую цифру, а на практике последняя деталь в хлысте не поместится. Закладывайте припуск на каждый рез, включая торцевую обрезку, если она требуется.
Структура таблицы: шаблоны раскроя
Основа модели — карта шаблонов. Каждый шаблон — это одна комбинация деталей, умещающаяся в один хлыст. Например: «2 детали по 2500 мм + 1 деталь по 900 мм» из трубы 6000 мм. Строки таблицы — детали, столбцы — шаблоны, на пересечении — количество деталей данного типа в шаблоне.
Для каждого шаблона формула проверяет, что суммарная длина с учётом резов не превышает длину хлыста. Удобно записать это так:
=СУММПРОИЗВ(длины_деталей; шаблон) + ширина_реза * (СУММ(шаблон) - 1) + торцевая_обрезкаРядом вычисляется отход шаблона: длина хлыста минус полученная сумма. Деловые остатки выше порога можно помечать отдельным столбцом — они потом пойдут в задел.
💡Генерируйте шаблоны не вручную, а отсортируйте детали по убыванию длины и комбинируйте сначала самые длинные — так вы быстрее найдёте плотные раскрои с малым отходом.