Excel подходит для простого складского учёта, если движения вносит один человек и не нужны резервы, партии, сроки годности, серийные номера и автоматическая синхронизация каналов продаж. Проблема возникает, когда остаток хранят отдельным числом в общей простыне и правят руками.
Ниже — рабочая конструкция: справочник, журнал движений, инвентаризация и ни одной ячейки остатка, введённой вручную. И пять сценариев, где её недостаточно: вопрос уже не в формулах, а в том, на что переходить.
Коротко
- Три листа: справочник с таблицами типов и складов, журнал движений, инвентаризация. Остаток не вводят руками — его считает формула.
- Знак задаёт не формула «если расход», а коэффициент из таблицы типов: возвраты и корректировки бывают в обе стороны.
- Ошибку в журнале не стирают: сторно отдельным типом, затем правильная операция — история остаётся.
- Срез инвентаризации держится на номере движения, а не на дате; результат пересчёта сохраняют значениями.
- Границу задают сценарии: двое за одним остатком, партии и серии, парность перемещений, синхронизация с маркетплейсом, неизменяемая история.
Когда таблицы действительно достаточно
Мастерская с расходниками, шоурум, кофейня — лишь примеры: решает не отрасль и не число артикулов, а процессы. У кофейни бывают рецептуры и сроки годности, у шоурума — резервы.
Довод «пора расти» ничего не доказывает: сверьтесь с пятью сценариями ниже. Складской учёт как процесс: складской учёт.
Конструкция: три листа
Лист первый — справочник: каждый товар ровно один раз, рядом таблицы типов операций с коэффициентом и складов. Лист второй — журнал движений: каждое движение отдельной строкой, строки только добавляются. Лист третий — инвентаризация.
Главный принцип: остаток не хранится, а считается по движениям с учётом знака. Начинают не с нуля — то, что уже лежит на складе, вносят строками с типом «начальный остаток», иначе первая же продажа уводит остаток в минус.
Справочник и журнал: две таблицы с разными ролями
Колонки справочника минимальные: артикул, название, единица, группа, минимальный запас. С артикулом тонкость: до ввода задайте колонке текстовый формат, иначе Excel срежет ведущие нули в 00785, а 5-12 превратит в дату. Уникальность стережёт проверка данных на СЧЁТЕСЛИ: дубль покажет один остаток в двух строках.
Колонки журнала: номер движения, дата и время, тип, артикул, количество, склад, документ-основание, кто внёс. Номер сквозной: очередной равен максимуму по колонке плюс один и вписывается значением — порядок операций задаёт он, а не дата. Уникальности мало: пропущенный номер, отданный позже новой строке, уйдёт в старый срез и перепишет закрытый расчёт. Поэтому перед срезом сверяйте максимальный номер с числом строк журнала: расхождение выдаёт пропуск. Подмену старого номера это не докажет: копию книги архивируйте вместе с результатом инвентаризации, а для технически неизменяемой нумерации Excel не годится.
Количество вводится положительным числом, знак задаёт тип. «Если расход, то минус» — типичная ошибка: возврат и корректировка бывают в обе стороны.
Поэтому знак берёт таблица типов: в ней тип и коэффициент. Плюс единица — приход, возврат покупателя, начальный остаток, положительная корректировка, сторно расхода; минус единица — расход, списание, возврат поставщику, отрицательная корректировка, сторно прихода. Служебная колонка: =[@Количество]*ПРОСМОТРX([@Тип];Типы[Тип];Типы[Коэффициент];НД()). Четвёртый аргумент — для явности: без него ПРОСМОТРX тоже вернёт ошибку, но ноль подставлять нельзя — опечатка в типе тихо изменит остаток. В Excel 2016 и 2019 ПРОСМОТРX нет, там ВПР с точным совпадением.
Артикул и тип выбирайте из выпадающих списков по справочнику, склад — из таблицы складов (источник Склады[Склад]): ручной ввод плодит похожие, но разные коды — A001 и A001 с пробелом, латинская A и кириллическая А. Количество проверяйте по единице измерения: штучным — целое, весовым и мерным — десятичное. Дату вводите как дату, а не текст: выравнивание — лишь подсказка.
Одних списков мало — нужна служебная колонка контроля строки. Она сводит в одно ЕСЛИ проверки справочных значений, номера, даты, количества и основания: =ЕСЛИ(И(СЧЁТЕСЛИ(Справочник[Артикул];[@Артикул])=1;СЧЁТЕСЛИ(Склады[Склад];[@Склад])=1;СЧЁТЕСЛИ(Типы[Тип];[@Тип])=1;СЧЁТЕСЛИ(Журнал[Номер движения];[@[Номер движения]])=1;[@[Номер движения]]=ЦЕЛОЕ([@[Номер движения]]);[@[Номер движения]]>0;ЕЧИСЛО([@[Дата и время]]);[@[Дата и время]]>=НачалоУчёта;[@[Дата и время]]<=ТДАТА();[@Количество]>0;НЕ(ЕПУСТО([@[Документ-основание]])));"ок";"ошибка"), где НачалоУчёта — именованная ячейка с датой начала учёта.
Верхняя граница даты — ТДАТА(), а не СЕГОДНЯ(): колонка хранит дату со временем, а СЕГОДНЯ() возвращает полночь, и сегодняшняя операция ушла бы в ошибку. Если время не ведёте, сравнивайте ЦЕЛОЕ([@[Дата и время]]) с СЕГОДНЯ(). Условие по единице измерения дописывается в И отдельным аргументом. Ошибка строки не мелочь: артикул с лишним пробелом СУММЕСЛИ не подберёт, движение выпадет из расчёта и остаток занизится молча. Пустой склад выпадет из складских остатков, хотя в общий войдёт.
Каждый диапазон превратите в «умную таблицу» («Вставка — Таблица») и дайте имя — их пять: Справочник, Типы, Склады, Журнал, Инвентаризация. Формулы сошлются на имена колонок, а не на диапазоны, и новая строка сама попадёт в расчёты. Документооборот по приходу и расходу: учёт товаров.
Остаток считается формулой, а не пишется руками
Базовая формула в справочнике — СУММЕСЛИ: =СУММЕСЛИ(Журнал[Артикул];[@Артикул];Журнал[Количество со знаком]).
Если складов несколько, берётся СУММЕСЛИМН: к паре по артикулу добавляется «Журнал[Склад];$B$1», где в $B$1 выбранный склад — колонки склада в справочнике нет. Остаток на срез считает лист инвентаризации, формула ниже. По дате срез ставить нельзя: движение, внесённое позже, но датированное раньше, изменит закрытый расчёт задним числом. Название подтягивайте из справочника по артикулу через ПРОСМОТРX или ВПР с точным совпадением: после переименования новый вариант покажут все строки, а продублированное значением останется старым.
Ручную колонку остатка удалите. Как разбирать расхождения: учёт остатков товара.
Проверки, которые ловят ошибки ввода
Проверка данных — первый рубеж, но неполный: Microsoft предупреждает, что при копировании и заполнении сообщения нет, а обычная вставка подменяет ваше правило правилом исходной ячейки. Поэтому вставляйте в журнал только значения — правило останется вашим — и прогоняйте «Обвести неверные данные»: она подсветит уже проникшее.
Условное форматирование на колонку остатка: «значение меньше нуля» и красная заливка — такой остаток невозможен, и каждая подсветка повод разобрать историю. Второе правило — ниже минимального запаса.
Журнал сортируйте кнопкой в заголовке умной таблицы: строки переставятся целиком, а сортировка столбца вне таблицы рвёт связь колонок.
Формулы и колонку контроля закройте защитой листа. По умолчанию заблокированы все ячейки, поэтому порядок такой: включите автофильтр, разблокируйте вводимые колонки, а в параметрах защиты разрешите вставку строк и автофильтр — на защищённом листе его не создать. Заблокированные ячейки там не сортируются, поэтому пересортировка идёт со снятием и возвратом защиты. Потом проверьте, что строка добавляется, а формулы не правятся. И делайте копии файла с датой в имени: автовосстановление выручает не всегда.
Лист инвентаризации: факт против расчёта
Структура листа: номер среза, склад, артикул, факт, расчётный остаток формулой, расхождение как разница. Склад — обязательная колонка: иначе формула сложит движения по всем складам и расхождение окажется ложным. В колонке среза — номер последнего учтённого движения, а не дата. Расчёт даёт СУММЕСЛИМН с тремя парами условий: =СУММЕСЛИМН(Журнал[Количество со знаком];Журнал[Артикул];[@Артикул];Журнал[Склад];[@Склад];Журнал[Номер движения];"<="&[@[Номер среза]]). Ссылки с @ работают: эти колонки у инвентаризации свои.
Результат не переносят в остаток правкой: расхождение закрывает строка журнала с типом корректировки и ссылкой на акт — её номер больше номера среза, и в исходный расчёт она не попадёт. Знак снова берёт тип.
Снимком это не становится: расчётная колонка — живая формула и пересчитается при правке старой строки. Поэтому сразу после пересчёта сохраните расчёт, факт и расхождение значениями в копии. Если позже нашёлся документ за период до среза, одной строкой не обойтись: внесите его и обратной корректировкой снимите объяснённую им часть инвентаризационной. Иначе расхождение учтётся дважды: поздний расход занизит остаток, поздний приход завысит.
Ошибочную операцию исправляют новыми строками: сторно идёт своим типом, повторяет артикул, склад и количество исходного движения, в основании — его номер; следом вносят правильную операцию. Ошиблись только в количестве — хватит корректировки на разницу.
Полную инвентаризацию дополняйте выборочными пересчётами по оборачиваемости, стоимости и истории расхождений: они ловят ошибку, пока её можно объяснить.
Пять сценариев, где трёх листов уже недостаточно
Двое одновременно. Обычный файл в сетевой папке может открыться у второго только для чтения. В OneDrive или SharePoint Online это снимается: нужен поддерживаемый формат, Excel для веба или актуальный Excel для Microsoft 365 и автосохранение, иначе книга снова заблокируется. Порог в другом: двое спишут последнюю единицу одновременно, и таблица примет обе операции — резервирования нет.
Партии, серии и себестоимость. Прослеживаемости по партиям, срокам годности и серийным номерам здесь нет, как и себестоимости проданной единицы: FIFO требует помнить, какая партия расходуется первой, а средневзвешенная пересчитывается после каждого прихода или по итогам периода. Автоматизировать это можно через Power Query, но сложнее учёта.
Перемещения между складами. Два склада формула считает, а парность движений не контролирует: перемещение — это две строки, расход на одном складе и приход на другом. Внесли половину пары — по источнику цифра может сойтись, а второй склад и общий итог разъедутся с фактом.
Маркетплейсы. Здесь решает не число площадок, а потребность синхронизировать остатки без ручной задержки: пока выгрузка идёт руками, между изменением запаса и отправкой данных проходит время. Wildberries по схеме FBS обновляет витрину для покупателей в течение пятнадцати минут после загрузки. Задание без пометки о нулевом остатке площадка считает поступившим на положительный остаток: его отгружают, иначе за отмену будет штраф; задание с пометкой отменяют без штрафа. Что ещё меняется на площадках: продажи на Wildberries.
История и права. Панель «Показать изменения» в Excel для Microsoft 365 покажет недавние правки значений и формул, но не форматирование, объекты и фильтры; за старым состоянием идут в историю версий OneDrive. Права разграничить можно: в OneDrive и SharePoint Online доступ делится на просмотр и редактирование, в Excel — правку отдельных диапазонов. Нет складских ролей на уровне операций и неизменяемого журнала действий: кому разрешена правка вводимых колонок, тот перепишет и старую строку, а колонка «кто внёс» заполняется добровольно. Если за товар отвечают деньгами, нужен журнал, который не переписать задним числом.
Сколько стоит уйти из таблицы
Ориентир по деньгам — тарифы МоегоСклада, снятые 12 августа 2026 года (сетка действует с 1 июля). При помесячной оплате Базовый стоит 1400 ₽, Проф — 4100 ₽, Корп — 9800 ₽. Рядом может стоять акционная колонка: она относится к первой оплате и может не суммироваться со скидкой за предоплату. Сверяйте срок акции, минимальный период и сетку на день покупки.
Бесплатный тариф на старте: 5 пользователей, 1 юрлицо, 2 точки продаж, 3 коннектора интернет-магазина, 50 Мб под файлы и по 100 товаров, контрагентов и документов. Он бессрочный с оговоркой: если не пользоваться сервисом дольше шести месяцев, учётную запись с данными вправе удалить.
На бесплатном тарифе не работают штатный экспорт в Excel, выгрузки в YML, XML для ЭДО и в 1С, дополнительные поля документов и дополнительные шаблоны. Импорт товаров, контрагентов и остатков из Excel в справке описан — проверьте его на бесплатном аккаунте до переезда, как и перенос документов. И сразу продумайте обратный путь: интерфейсной выгрузки отсюда нет.
На Базовом одновременно работают 2 сотрудника, юрлиц 2, товары, контрагенты и документы без ограничений, есть свои шаблоны и дополнительные поля. Точки продаж и опции онлайн-торговли в него не входят — по 700 ₽ в месяц за каждую. На Профе одновременно работают 5 сотрудников, юрлиц 10, права пользователей и CRM включены.
Опции сверх тарифа — 700 ₽ в месяц (сотрудник, CRM, маркировка) и 1400 ₽ (производство, финансы, сценарии); полный состав в прайсе. Скидки за предоплату: 5% за три месяца, 10% за полгода, 20% за год; пробный период — 14 дней.
Сравнивайте полную стоимость. Со стороны таблицы — время на ручные операции и цену ошибки: отменённая продажа, сорванный заказ. Со стороны сервиса — подписку, опции, интеграции, перенос данных и обучение. Переход выгоден, когда потери ручного процесса устойчиво выше. Сравнение решений: программы складского учёта.
Честно про ссылку
Ссылка на МойСклад партнёрская: если вы оплатите тариф после перехода по ней, vakas.ru может получить вознаграждение; актуальную цену проверяйте перед оплатой. Сервис здесь ценовой ориентир, а не единственный вариант: бесплатный тариф и 14 дней пробного доступа позволяют его протестировать. Пока таблица справляется — оставайтесь в Excel.
Где теряют деньги
- Правят остаток руками. Появляется второй источник данных, и при расхождении не понять, какое число верное.
- Стирают ошибочные строки журнала. Вместе со строкой пропадает след в журнале, и восстановить ход движений сложнее.
- Игнорируют отрицательный остаток. Минус — повод проверить знаки операций, начальные остатки, дубли и поздние документы.
- Считают инвентаризацию годовой формальностью. Между пересчётами расхождения копятся, причины забываются, и цифры выравнивают без разбора.
- Держат в таблице маркетплейсы. Пока выгрузка идёт руками, товар успевают купить, а отмена по вине продавца грозит штрафом и снижением рейтинга доставки.
Практический вывод
Соберите три листа: справочник с таблицами типов и складов, журнал движений со сквозным номером и «количеством со знаком», инвентаризацию со складом и срезом по номеру движения. Начальные остатки внесите строками журнала, остаток считайте формулой СУММЕСЛИ, ручную колонку удалите. Колонка контроля должна ловить не только пустые поля и неизвестный тип, но и артикул или склад, которых нет в справочниках; результат каждой инвентаризации сохраняйте значениями. Любой из пяти сценариев выше означает, что трёх листов мало: расширять Excel можно, но сравните цену доработки со стоимостью учётной системы.
Частые вопросы
Какой формулой считать остаток товара в Excel?
Заведите таблицу типов с коэффициентом: приходные дают плюс единицу, расходные — минус, а колонка «количество со знаком» умножает количество на коэффициент. Остаток считает СУММЕСЛИ: =СУММЕСЛИ(Журнал[Артикул];[@Артикул];Журнал[Количество со знаком]). Для нескольких складов в СУММЕСЛИМН добавляется пара «склад — нужный склад», для среза — «номер движения не больше номера среза».
Почему нельзя вести колонку остатка вручную?
Она становится вторым источником данных: при расхождении верное число не определить — расчётный остаток раскладывается фильтром по артикулу, за ручным нет ничего.
Что делать, если расчётный остаток ушёл в минус?
Минус означает расхождение в данных или в хронологии операций. Отфильтруйте журнал по артикулу и проверьте типы и знаки, начальный остаток, задвоенный расход, пропущенный приход, похожий артикул. Старую строку не правят — проводят сторно и вносят правильную операцию.
Google Таблицы подойдут для склада лучше, чем Excel?
Формульная логика та же: справочник, журнал, СУММЕСЛИМН, проверка данных. Совместное редактирование там без блокировки файла, но и книга в OneDrive правится вдвоём. Резервы, парность перемещений и одновременное списание в той же конструкции не автоматизируются: отдельной логикой их добавить можно, но это уже система другой сложности.
Сколько позиций выдержит таблица складского учёта?
Универсального порога нет: лист Excel вмещает больше миллиона строк, но скорость зависит от формул, связей и устройства — проверяйте на своём файле. При одном операторе и настроенных проверках таблица подходит для количественного учёта. Границу задаёт не число позиций, а сценарии: одновременное списание, партии, парность перемещений, синхронизация с площадкой, неизменяемая история.