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

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

Чтобы сделать автоматическую нумерацию в Excel, используйте функцию =СТРОКА()-1 для простых списков или превратите диапазон в «Умную таблицу» (Ctrl+T), чтобы номера проставлялись автоматически при добавлении новых строк. Для продвинутых сценариев с фильтрами применяйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

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

Быстрый старт: Самый универсальный способ для новичков — ввести 1 в первую ячейку, 2 во вторую, выделить обе и потянуть за маркер заполнения вниз. Но этот метод не обновляется автоматически при удалении строк. Для реальной автоматизации нужны формулы.

Простая нумерация через формулу СТРОКА

Этот метод идеален для статических списков, где структура данных редко меняется. Формула привязывает номер строки к её физическому положению на листе.

  1. Допустим, данные начинаются со 2-й строки (строка 1 — заголовок).
  2. В ячейку A2 введите формулу:
    =СТРОКА()-1
    ```
    *(Если данные начинаются с 3-й строки, вычитайте 2, и так далее).*
3.  Протяните формулу вниз до конца списка.

**Преимущества:**
*   Номера пересчитываются автоматически, если вы вставляете новые строки внутри диапазона.
*   Формула предельно проста и понятна.

**Недостатки:**
*   Если вы удалите строку из середины списка, нумерация продолжится без разрывов, но порядок может сбиться относительно исходного замысла, если строки удаляются массово.
*   Не работает корректно, если строки скрыты фильтром (будет нумеровать и скрытые тоже).

## Динамическая нумерация в «Умных таблицах»

Самый профессиональный подход для постоянно растущих списков. Превращение диапазона в таблицу гарантирует, что формула скопируется на новые строки автоматически.

1.  Выделите ваш диапазон данных (включая заголовки).
2.  Нажмите **Ctrl+T** (или вкладка *Вставка* → *Таблица*). Убедитесь, что стоит галочка «Таблица с заголовками».
3.  В первом столбце новой таблицы введите формулу:
    
```excel
    =СТРОКА()-СТРОКА(Таблица1[#Заголовки])
    ```
    *(Замените `Таблица1` на имя вашей таблицы, если оно отличается).*

В «Умной таблице» вам нужно ввести формулу только в одну ячейку. Excel автоматически распространит её на весь столбец и применит к любым новым строкам, которые вы добавите внизу.

Этот метод сохраняет нумерацию непрерывной даже при сортировке данных, так как номер привязан к позиции в таблице, а не к абсолютному адресу ячейки листа.

Нумерация только заполненных строк (без пропусков)

Частая проблема: в списке есть пустые строки, но нумерация должна идти только для тех строк, где есть данные (например, в соседнем столбце B есть имя клиента).

Используйте комбинацию функций ЕСЛИ и СЧЁТЗ:

=ЕСЛИ(B2=""; ""; СЧЁТЗ($B$2:B2))

Как это работает:

  • ЕСЛИ(B2=""; ""): Если ячейка с данными пуста, номер не ставится.
  • СЧЁТЗ($B$2:B2): Считает количество непустых ячеек от начала списка до текущей строки. Знак доллара $ фиксирует начало диапазона.

При протягивании этой формулы вниз вы получите сплошную нумерацию 1, 2, 3... только для заполненных записей, игнорируя пустоты.

Нумерация с учетом фильтров

Стандартные формулы нумеруют все строки подряд, даже скрытые фильтром. Чтобы номера соответствовали только видимым строкам (1, 2, 3... для того, что вы видите на экране), используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ.

Формула для ячейки A2:

=ЕСЛИ(B2=""; ""; ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; $B$2:B2))

Разбор функции:

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

Теперь, когда вы примените фильтр, нумерация автоматически перестроится: видимые строки получат номера 1, 2, 3..., а скрытые будут пропущены в последовательности.

Продвинутый способ: функция ПОСЛЕД (для Excel 365 и 2021+)

Если у вас современная версия Excel, используйте динамические массивы. Это позволяет создать нумерацию одной формулой для всего диапазона сразу, без протягивания.

Предположим, данные в столбце B (B2:B100). В ячейку A2 введите:

=ПОСЛЕД(СЧЁТЗ(B2:B100))

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

  • Плюс: Не нужно копировать формулу вниз.
  • Минус: При изменении количества данных массив может потребовать корректировки диапазона в формуле, либо используйте динамические имена диапазонов.

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

МетодФормулаАвтоматическое расширениеРабота с фильтрамиСложность
Маркер заполненияРучное протягиваниеНетНетНизкая
Функция СТРОКА=СТРОКА()-1Частично (при вставке)НетНизкая
Умная таблица=СТРОКА()-...ДаНетСредняя
Счетчик заполненных=СЧЁТЗ($A$2:A2)ДаНетСредняя
С учетом фильтра=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...)ДаДаВысокая
Динамический массив=ПОСЛЕД(...)Зависит от диапазонаТребуется доработкаСредняя

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

  • Разрывы в нумерации после удаления строк. Возникает при использовании простого копирования значений вместо формул. Решение: Используйте формулы на основе СТРОКА() или СЧЁТЗ.
  • Нумерация скрытых строк. Пользователь фильтрует данные, но видит номера 1, 5, 8 вместо 1, 2, 3. Решение: Применяйте метод с ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
  • Сбитые абсолютные ссылки. При копировании формулы СЧЁТЗ(A2:A2) забывают закрепить начало диапазона знаком доллара ($A$2). В результате счет начинается заново в каждой строке. Решение: Всегда фиксируйте начало диапазона: $A$2:A2.

FAQ

Как начать нумерацию не с 1, а с другого числа (например, 100)? Добавьте константу к формуле. Для метода со СТРОКА: =СТРО()+99 (если данные во 2-й строке: =СТРОКА()-2+100). Для СЧЁТЗ: =СЧЁТЗ($A$2:A2)+99.

Можно ли сделать нумерацию римскими цифрами? Да, оберните любую из вышеперечисленных формул в функцию РИМСКОЕ. Пример: =РИМСКОЕ(СТРОКА()-1).

Что делать, если нужно пронумеровать только уникальные значения? Используйте комбинацию СЧЁТЕСЛИ. Формула вида =ЕСЛИ(СЧЁТЕСЛИ($A$2:A2; A2)=1; МАКС($C$1:C1)+1; "") присвоит номер только первому вхождению значения, игнорируя дубликаты.

Почему формула выдает ошибку #ИМЯ? для функции ПОСЛЕД? Функция ПОСЛЕД (SEQUENCE) доступна только в подписке Microsoft 365 и версиях Excel 2021 и новее. В старых версиях используйте методы с СТРОКА или СЧЁТЗ.