Гид по технологиям

Нумерация строк в Excel: 3 проверенных способа

10 min read Excel Обновлено 05 Jan 2026
Нумерация строк в Excel — 3 надёжных способа
Нумерация строк в Excel — 3 надёжных способа

Коротко: если таблица последовательна — используйте Fill Handle или Fill Series. Если в данных есть пустые строки — используйте формулу с IF + COUNTA. Если нужно, чтобы нумерация сохранялась при фильтрации — применяйте SUBTOTAL. Ниже — пошаговые инструкции, примеры формул, советы по выбору метода и готовые чеклисты.

Логотип Excel на фоне каньона.

Форматирование данных в Microsoft Excel бывает простым, но часто вызывает вопросы, когда таблица большая или непоследовательная. Нумерация строк — типичная задача. Если строки идут без пустых строк, всё просто: ручная нумерация, Fill Handle или Fill Series. Когда есть пустые строки, фильтрация или частые правки — нужны динамичные формулы.

В этой статье вы найдете:

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

Быстрая навигация

  • Fill Handle и Fill Series — быстрые и статичные способы для последовательных данных.
  • IF + COUNTA — динамичная нумерация, пропускает пустые строки.
  • SUBTOTAL — динамичная нумерация, корректируется при фильтрации.

Важно: все показанные формулы ориентированы на вариант, когда данные начинаются в колонке B, а номера размещаются в колонке A (в примерах я использую A2, B2 как старт). Подстройте адреса под свою таблицу.

1. Нумерация последовательного набора данных: Fill Handle и Fill Series

Если у вас нет пустых строк внутри набора, Fill Handle — самый быстрый способ.

  1. Вставьте значения 1, 2 и 3 в ячейки A2, A3, A4.
  2. Выделите A2:A4.
  3. Подведите курсор к правому нижнему углу выделения — появится значок плюс.
  4. Двойной клик по значку заполнит последовательность вниз до конца блока смежных данных.

Набор данных в Excel, где требуется нумерация строк

Плюсы:

  • очень быстро для маленьких и средних таблиц;
  • не требует формул.

Ограничения и случаи, когда не работает:

  • Fill Handle остановится при первой пустой строке в соседнем столбце.

Fill Handle останавливается на пустой строке при нумерации

  • если соседний столбец пустой, Fill Handle не протянет последовательность.

Fill Handle не работает из-за пустого соседнего столбца

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

Автозаполнение последовательности перетягиванием

Если таблица большая, но последовательна, и вы не хотите тянуть мышью, используйте Fill Series:

  1. Нажмите Ctrl + End, чтобы понять, где заканчиваются заполненные ячейки (последняя заполненная ячейка).
  2. В ячейке A2 введите 1.
  3. На вкладке Home в группе Editing выберите Fill → Series.
  4. В диалоге выберите Series in: Columns, Type: Linear, Step value: 1, Stop value: число заполненных строк.
  5. Нажмите OK.

Диалог Fill Series для нумерации строк

Недостаток Fill Series: он тоже пронумерует пустые строки внутри выбранного диапазона. Кроме того, оба способа статичны — при удалении строки нужно перенумеровать заново.

2. Динамичная нумерация с IF и COUNTA (пропуск пустых строк)

Когда в вашем наборе есть пустые строки, и вы хотите нумеровать только заполненные строки — используйте сочетание IF + COUNTA. Функция COUNTA считает непустые ячейки в диапазоне. IF проверяет текущую строку и возвращает пустую строку в колонке с номерами, если соседняя ячейка пуста.

Пример (данные в колонке B, нумерация в колонке A, начальная строка данных — 2):

=IF(ISBLANK(B2),"",COUNTA($B$2:B2))

Порядок действий:

  1. В ячейке A2 вставьте формулу выше.
  2. Протяните или автозаполните формулу вниз по всем строкам таблицы.

Нумерация строк с IF и COUNTA, пропуск пустых

Что происходит:

  • Если B2 пустая — A2 остаётся пустой.
  • Если B2 содержит значение — COUNTA($B$2:B2) вернёт количество непустых ячеек от B2 до текущей строки, что даёт последовательные номера для заполненных строк.

Плюсы:

  • динамическая нумерация: при добавлении/удалении/перемещении строк номера пересчитаются автоматически;
  • пустые строки остаются пустыми в колонке с номерами.

Ограничения:

  • подходит, если логика нумерации опирается на непустоту конкретной «ключевой» колонки (в примере — колонка B). Если ключевые поля могут быть неполными, нужно выбрать другую опорную колонку или комбинацию столбцов в COUNTA/COUNTC.
  • если вы хотите зафиксировать номер строки при вводе (чтобы он не менялся позже), этот метод не подходит.

Примеры вариаций формулы:

  • Нумерация по двум колонкам (например, B и C — считаем строку заполненной, если заполнен хотя бы один из них):
=IF(AND(ISBLANK(B2),ISBLANK(C2)),"",COUNTA($B$2:B2)+COUNTA($C$2:C2)-COUNTA($B$2:B2&$C$2:C2))

(Такая формула сложнее, чаще проще использовать вспомогательный столбец с проверкой заполненности: =OR(NOT(ISBLANK(B2)),NOT(ISBLANK(C2))) и затем считать COUNTA по этому вспомогательному столбцу.)

Важно: не придумывайте фиксированных чисел в формуле Stop value — используйте динамику: протяните до конца листа или до ожидаемого диапазона.

3. Нумерация с учётом фильтрации: SUBTOTAL

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

Синтаксис:

=SUBTOTAL(function_num, range1, [range2...])

Для подсчёта количества непустых ячеек используйте function_num = 3 (COUNTA в списке SUBTOTAL). Пример:

=SUBTOTAL(3, $B$2:B2)

Пошагово:

  1. В A2 введите формулу выше.
  2. Протяните формулу вниз.
  3. Примените фильтр по нужному столбцу.

Использование SUBTOTAL для нумерации, корректной при фильтрации

Поведение:

  • SUBTOTAL(3, $B$2:B2) считает непустые видимые ячейки от B2 до текущей строки. При фильтрации номера корректно перестраиваются и идут 1,2,3 по видимым строкам.

Плюсы:

  • нумерация адаптируется при фильтрации;
  • удобно для отчётов и быстрых срезов данных.

Ограничения:

  • SUBTOTAL учитывает только строки, скрытые встроенным фильтром. Если строки скрыты вручную (Hide Rows) — надо проверить используемую версию Excel; поведение может отличаться.

Нумерация сохраняется правильной при применении фильтра

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

  • Fill Handle / Fill Series — статичные, простые, подходят для чистых последовательных данных без пустых строк.
  • IF + COUNTA — динамичные, пропускают пустые строки, номера обновляются при правке данных.
  • SUBTOTAL — динамичные и фильтруемые: нумерация корректна при применении фильтров.

Выбор метода зависит от сценария использования:

  • Для печатных выгрузок и одноразовых таблиц: Fill Series.
  • Для рабочих листов, где строки добавляют/удаляют: IF + COUNTA.
  • Для интерактивных отчётов с фильтрами: SUBTOTAL.

Дополнительные подходы и варианты

  1. Нумерация с помощью функции ROW: быстрый способ для статичной нумерации, но номер зависит от расположения строки на листе.
=ROW()-1

(Вычитаем 1, если данные начинаются на второй строке.)

  1. Использование таблицы Excel (Insert → Table). Таблицы имеют структурированные ссылки, и нумерация внутри таблицы можно организовать с помощью =ROW([@Column]) или через индексирование. Таблица автоматически расширяется при добавлении строк.

  2. VBA / макросы. Если нужна зафиксированная нумерация или сложные правила (например, нумерация групп, восстановление при вставке/удалении), можно написать макрос. Минус — макросы требуют доверия и защиты, и не всегда допустимы в корпоративной среде.

  3. Power Query. Для больших наборов данных или если нумерация должна быть частью процесса ETL, импортируйте данные в Power Query и добавьте индекс (Add Index Column). Преимущество — воспроизводимость и возможность автоматической перезагрузки.

Ментальные модели и хексы для выбора метода

  • “Если таблица статична и короткая — ручная или Fill Series. Если таблица динамична — формула. Если нужно учитывать фильтр — SUBTOTAL.”
  • “Опорная колонка — источник правды”: всегда решайте, по какой колонке вы будете определять, считать ли строку заполненной.
  • “Стейт vs. Функция”: Fill Handle и Fill Series — стейт (статические значения). Формулы и Power Query — функции (динамика).

Чеклисты по ролям

Data Analyst:

  • Используйте IF+COUNTA или Power Query для динамики.
  • Проверьте опорную колонку на пустые значения.
  • Напишите тесты: добавление/удаление строки, фильтрация.

Бухгалтер:

  • Для печатных реестров можно использовать Fill Series.
  • Для рабочих регистров лучше SUBTOTAL при частом фильтре.

Проектный менеджер:

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

Разработчик (VBA/Power Query):

  • Выбирайте макросы или PQ, если нужны повторяемые процессы и экспорт.

SOP: Как быстро выбрать и применить метод (короткий план)

  1. Оцените данные: есть ли пустые строки? будет ли фильтрация? частые вставки/удаления?
  2. Если нет пустых строк и фильтрация не нужна — Fill Handle/Fill Series.
  3. Если есть пустые строки, но фильтрация не нужна — IF + COUNTA.
  4. Если нужно корректно нумеровать при фильтрации — SUBTOTAL.
  5. Для больших предобработанных наборов — Power Query (Add Index).
  6. Документируйте выбранный метод в шапке листа.

Критерии приёмки

  • Нумерация корректна для всех текущих строк данных.
  • При добавлении новой заполненной строки номер появляется автоматически (если метод динамичный).
  • При применении фильтра номера корректно отображаются от 1 до N (если метод SUBTOTAL).
  • Пустые строки не нумеруются (если это требование).
  • Решение документировано и понятно коллегам.

Практические сниппеты и шаблон-«шпаргалка»

Формулы:

  • Простая статичная нумерация (номер по номеру строки):
=ROW()-1
  • IF + COUNTA (пропуск пустых в колонке B):
=IF(ISBLANK(B2),"",COUNTA($B$2:B2))
  • SUBTOTAL для учёта фильтров:
=SUBTOTAL(3,$B$2:B2)
  • Power Query: Home → Transform → Add Column → Index Column → From 1.

Когда подходы не сработают (примеры и способы обхода)

  • Если у вас есть «частичная заполненность» (несколько колонок определяют, считать ли строку заполненной), используйте вспомогательный столбец с логикой заполненности (например, =NOT(AND(ISBLANK(B2),ISBLANK(C2)))) и затем применяйте COUNTA к этому столбцу.

  • Если нужно фиксировать номер в момент ввода (чтобы номер не менялся при последующих правках), используйте макрос, который присваивает значение при событии Worksheet_Change, или вручную перезаписывайте формулы в значения (Paste Special → Values) после завершения ввода.

  • В совместных рабочих книгах с ограничениями макросов предпочтительнее Power Query или встроенные формулы.

Edge-case gallery (необычные ситуации)

  • Смешанные типы данных: COUNTA считает текст и числа, но не пустые ячейки. Если нужно считать только числа — используйте COUNT вместо COUNTA.
  • Пустые строки, но с пробелами: ISBLANK вернёт FALSE для ячеек с пробелами. Используйте TRIM и LEN для проверки: =IF(LEN(TRIM(B2))=0,””,…)
  • Скрытые вручную строки: SUBTOTAL не всегда исключает вручную скрытые строки, если скрытие сделано иначе. Проверьте поведение в вашей версии Excel.

Короткая методология тестирования

  1. Создайте тестовую таблицу с 20 строками, где 5 случайных строк пустые.
  2. Примените выбранный метод.
  3. Добавьте строку в середину — проверьте обновление номеров.
  4. Примените фильтр — убедитесь, что видимые номера корректны (только для SUBTOTAL).
  5. Проверьте вставку и удаление строк вверху/внизу.

Простая матрица сравнения

  • Простота: Fill Handle > Fill Series > IF+COUNTA > SUBTOTAL > Power Query
  • Динамичность: Power Query / IF+COUNTA / SUBTOTAL > Fill Series
  • Поддержка фильтра: SUBTOTAL / Power Query > IF+COUNTA > Fill Series

Советы по локализации и совместимости

  • В русской версии Excel названия функций отличаются: IF = ЕСЛИ, ISBLANK = ЕСЛИОШИБКА? (нет) — на самом деле ISBLANK = ЕСЛИ.ПУСТО. SUBTOTAL = ПОДИТОГ. Если вы работаете с локализованной (русской) версией Excel, замените англоязычные имена функций на русские:

    • IF → ЕСЛИ
    • ISBLANK → ЕСЛИ.ПУСТО
    • COUNTA → СЧЁТЗ
    • SUBTOTAL → ПОДИТОГ

    Пример для русской версии (аналог формулы IF+COUNTA):

=ЕСЛИ(ЕСЛИ.ПУСТО(B2);"";СЧЁТЗ($B$2:B2))
  • В Power Query при локализации названия шагов остаются универсальными; индекс добавляется через Add Index Column.

Безопасность и приватность

Нумерация строк не работает с конфиденциальными данными напрямую. Однако при использовании макросов и Power Query убедитесь, что вы не передаёте данные на сторонние сервисы и не включаете внешние подключения без проверки.

Резюме

  • Используйте Fill Handle или Fill Series для коротких и последовательных таблиц.
  • Для таблиц с пустыми строками — IF + COUNTA, он динамичен и аккуратно пропускает пустые строки.
  • Если нужна корректная нумерация при фильтрации — SUBTOTAL.
  • Для автоматизации и масштабируемости смотрите в сторону Power Query; для фиксирования номеров на момент ввода — макросы.

И помните: всегда документируйте в шапке листа, какой метод нумерации вы используете, чтобы коллеги знали, как поддерживать таблицу.

Краткие выносные заметки

Важно: если в вашей таблице есть строки, где визуально пусто, но в ячейках есть пробелы, функции ISBLANK/ЕСЛИ.ПУСТО могут не распознать ячейку как пустую. Используйте TRIM/LEN для надёжной проверки пустоты.

Спасибо за внимание. Если хотите, могу подготовить готовый файл Excel с примерами всех трёх подходов и тестовыми случаями — напишите, какой формат предпочитаете (xlsx или xlsm).

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство