Автоматическая нумерация строк в Excel: от простых формул до умных таблиц

Иван Корнев·13.04.2026·4 мин

Чтобы сделать автоматическую нумерацию строк в Excel, используйте функцию =СТРОКА() (или =ROW() в английской версии) с вычетом смещения, например =СТРОКА()-1. Для современных версий Excel (365, 2021) оптимальным решением является функция =ПОСЛЕДОВ(), которая создает динамический массив без протягивания формул. Если данные находятся в «Умной таблице», нумерация будет обновляться автоматически при добавлении новых записей.

Базовые методы нумерации

Самый простой способ — использование функции, возвращающей номер текущей строки. Однако просто вставить =СТРОКА() недостаточно, так как она вернет номер строки листа (например, 2, если формула во второй строке). Чтобы нумерация начиналась с единицы, нужно вычесть количество строк заголовка.

Классическая формула: Если ваши данные начинаются со строки 2 (строка 1 — заголовок), в ячейку A2 введите: =СТРОКА()-1

При копировании этой формулы вниз вы получите последовательность 1, 2, 3 и т.д. Если данные начинаются со строки 5, формула изменится на =СТРОКА()-4.

Чтобы не считать смещение вручную, используйте абсолютную ссылку на первую ячейку данных. Формула =СТРОКА()-СТРОКА($A$2)+1 автоматически подстроится, даже если вы переместите блок данных на другой лист. Знаки доллара $ фиксируют адрес первой строки.

Динамическая нумерация в новых версиях (Excel 365, 2021+)

Владельцам современных версий Excel нет необходимости протягивать формулу до конца таблицы. Функция ПОСЛЕДОВ (SEQUENCE) генерирует массив чисел одной формулой.

Синтаксис: =ПОСЛЕДОВ(число_строк; [число_столбцов]; [начало]; [шаг])

Пример использования: Допустим, у вас есть список из 100 товаров в столбце B (B2:B101). В ячейку A2 достаточно ввести одну формулу: =ПОСЛЕДОВ(СТРОКИ(B2:B101))

Эта формула автоматически заполнит диапазон A2:A101 числами от 1 до 100.

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

Нумерация в «Умных таблицах»

Преобразование диапазона в таблицу (сочетание клавиш Ctrl+T) — лучший способ работы с данными. В таблицах формулы копируются автоматически, а ссылки становятся структурированными.

  1. Выделите диапазон данных и нажмите Ctrl+T.
  2. В первом столбце новой таблицы введите формулу: =СТРОКА()-СТРОКА(Таблица1[#Заголовки]) (Или используйте интерфейс: =[@Стоимость] не подойдет, нужна ссылка на структуру).

Более надежный вариант для таблиц — использование функции СТРОКА относительно самой таблицы: =СТРОКА([@])-СТРОКА(Таблица1[#Заголовки])

В русских версиях Excel имя таблицы может быть «Таблица1», в английских — «Table1». Имя заголовков может писаться как [#Заголовки] или [#Headers]. Используйте автодополнение (Tab) при вводе, чтобы не ошибиться в синтаксисе.

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

Учет фильтров и скрытых строк

Обычные формулы (СТРОКА, ПОСЛЕДОВ) нумеруют все строки подряд, игнорируя примененные фильтры. Если вы отфильтруете список по критерию «Москва», номера останутся 1, 5, 8, 12... что неудобно для печати или анализа.

Для сквозной нумерации только видимых строк используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL) в связке со смещением.

Формула для ячейки A2 (протянуть вниз): =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; $B$2:B2)

Где:

  • 3 — код функции СЧЁТЗ (подсчет непустых ячеек).
  • $B$2:B2 — расширяющийся диапазон. Первая часть зафиксирована, вторая меняется при протягивании.

Эта конструкция пересчитывает количество заполненных ячеек в столбце B от начала до текущей строки, игнорируя скрытые фильтром строки. Результат: при фильтрации нумерация станет сплошной (1, 2, 3...) только для отображаемых записей.

Сравнение методов нумерации

МетодФормулаКогда использоватьОсобенности
Классический=СТРОКА()-1Статичные списки, старые версии ExcelТребует ручного протягивания, ломается при вставке строк внутрь
Динамический=ПОСЛЕДОВ(...)Excel 365/2021, большие массивыОдна формула на весь столбец, автопересчет
Табличный=СТРОКА([@])...Рабочие базы данных, постоянные отчетыАвтодобавление строк, красивый вид
С фильтрами=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...)Печать отчетов, анализ отфильтрованных данныхНумерует только видимое, требует заполнения соседнего столбца

Частые ошибки

  • Разрыв последовательности при вставке строк. Если вы используете простую формулу =СТРОКА()-1 и вставляете новую строку между 5 и 6 номером, нумерация собьется. Решение: используйте «Умные таблицы» или функцию ПОСЛЕДОВ.
  • Неверное начало отсчета. Частая ошибка — забыть вычесть номер строки заголовка. Вместо =СТРОКА()-1 пользователь пишет =СТРОКА(), и нумерация начинается с 2 или более.
  • Игнорирование фильтров. При подготовке отчета для руководства пользователи забывают, что стандартная нумерация покажет пропуски (1, 4, 7) после применения фильтра. Для таких случаев обязателен метод с ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

FAQ

Как начать нумерацию не с 1, а с другого числа (например, с 100)? Добавьте нужное смещение к формуле. Для классического метода: =СТРОКА()-1+99 (если старт со 2-й строки). Для функции ПОСЛЕДОВ укажите третий аргумент: =ПОСЛЕДОВ(10; 1; 100; 1) создаст числа от 100 до 109.

Можно ли нумеровать только заполненные строки? Да. Оберните формулу в условие ЕСЛИ. Пример: =ЕСЛИ(B2=""; ""; СТРОКА()-1). Номер появится только если в соседней ячейке B2 есть данные.

Что делать, если нужно пронумеровать строки с шагом 2 (1, 3, 5...)? В функции ПОСЛЕДОВ измените последний аргумент (шаг): =ПОСЛЕДОВ(10; 1; 1; 2). В классической формуле умножьте счетчик: =(СТРОКА()-1)*2-1.