Добавить в корзинуПозвонить
Найти в Дзене
Хитрости Эксель

Создание «умной» нумерации строк, которая не ломается при фильтрации и удалении строк

Привет, дорогой читатель! 👋 Вы наверняка сталкивались с такой ситуацией: пронумеровали строки в таблице вручную (1, 2, 3…), а потом отфильтровали данные или удалили несколько строк — и нумерация «поехала». Дырки, непорядок, приходится переделывать. Сегодня я покажу, как сделать умную нумерацию, которая автоматически подстраивается под любые изменения: фильтрацию, удаление, добавление строк. И никаких макросов — только пара простых формул. Поехали! 🚀 Самый простой способ пронумеровать строки — вписать в первую ячейку 1, во вторую 2, выделить обе и протянуть маркер автозаполнения. Или использовать формулу =A2+1. В статичной таблице это работает отлично. Но как только вы: 📌 Пример: Вы пронумеровали заказы от 1 до 100. Отфильтровали только заказы на сумму выше 10 000 — а номера остались 5, 12, 33… Неудобно и некрасиво. В Excel есть простая функция СТРОКА() (в английской версии ROW). Она возвращает номер строки, в которой находится. Например, в строке 5 формула =СТРОКА() вернёт 5. Допуст
Оглавление

Привет, дорогой читатель! 👋

Вы наверняка сталкивались с такой ситуацией: пронумеровали строки в таблице вручную (1, 2, 3…), а потом отфильтровали данные или удалили несколько строк — и нумерация «поехала». Дырки, непорядок, приходится переделывать. Сегодня я покажу, как сделать умную нумерацию, которая автоматически подстраивается под любые изменения: фильтрацию, удаление, добавление строк. И никаких макросов — только пара простых формул. Поехали! 🚀

Хитрости Эксель — полная коллекция видео на RUTUBE

🧱 Проблема обычной нумерации

Самый простой способ пронумеровать строки — вписать в первую ячейку 1, во вторую 2, выделить обе и протянуть маркер автозаполнения. Или использовать формулу =A2+1. В статичной таблице это работает отлично.

Но как только вы:

  • применяете фильтр (скрываете часть строк);
  • удаляете несколько строк;
  • сортируете данные в другом порядке —
    нумерация превращается в хаос. Цифры перестают быть последовательными, появляются пропуски или повторения.

📌 Пример: Вы пронумеровали заказы от 1 до 100. Отфильтровали только заказы на сумму выше 10 000 — а номера остались 5, 12, 33… Неудобно и некрасиво.

💡 Идеальное решение: функция СТРОКА()

В Excel есть простая функция СТРОКА() (в английской версии ROW). Она возвращает номер строки, в которой находится. Например, в строке 5 формула =СТРОКА() вернёт 5.

Как сделать нумерацию, которая не боится удаления строк

Допустим, ваша таблица начинается с ячейки A2 (в A1 — заголовок «№»). Введите в A2 формулу:

=СТРОКА()-1

Почему -1? Потому что СТРОКА() для A2 вернёт 2, а нам нужна единица. Вычитаем 1 — получаем 1. Протяните формулу вниз.

Что произойдёт, если удалить строку 5?
Раньше в A5 было значение 4. После удаления строки формула в A5 (которая была A6) автоматически пересчитается и станет равна =СТРОКА()-1 для новой строки 5, то есть 4. Нумерация восстановится без пропусков! ✅

Что при добавлении строки между существующими?
Если вы вставите новую строку между строками 3 и 4, формула скопируется в новую ячейку автоматически (если таблица оформлена как «умная таблица» или если вы скопируете вручную). Нумерация подстроится.

⚠️ Минус: При фильтрации номера всё равно будут отображаться исходные (сквозные), а не 1,2,3 по отфильтрованному списку. Для фильтрации нужно другое решение — см. ниже.

При применении фильстра нумерация не сохраняется по порядку.
При применении фильстра нумерация не сохраняется по порядку.

🎯 Нумерация, которая работает при фильтрации: ПРОМЕЖУТОЧНЫЕ.ИТОГИ()

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

Как работает ПРОМЕЖУТОЧНЫЕ.ИТОГИ

У этой функции есть два аргумента:

  • Номер действия — что именно считать. Нас интересует 3 (функция СЧЁТЗ — подсчёт непустых ячеек).
  • Диапазон — ячейки, которые подсчитываем.

Хитрость в том, что ПРОМЕЖУТОЧНЫЕ.ИТОГИ игнорирует скрытые строки (те, которые спрятаны фильтром или вручную).

Пошаговая инструкция

Пусть ваша таблица начинается с A2 (в A1 — заголовок). В ячейку A2 вводим формулу:

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

Обратите внимание: первая ссылка абсолютная ($B$2), вторая — относительная (B2). Диапазон будет расширяться по мере копирования вниз.

Что делает формула:

  • Считает количество непустых ячеек в диапазоне от $B$2 до текущей строки в столбце B.
  • Поскольку в столбце B у вас, скорее всего, есть какие-то данные (например, название товара), подсчёт будет увеличиваться на 1 на каждой видимой строке.
  • При фильтрации скрытые строки игнорируются, и номера идут подряд.

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

Применение фильтра не ломает порядок нумерации строк.
Применение фильтра не ломает порядок нумерации строк.

🧩 Комбинируем оба метода: универсальная нумерация

Иногда нужно, чтобы нумерация работала и при удалении строк, и при фильтрации. Можно объединить СТРОКА и ПРОМЕЖУТОЧНЫЕ.ИТОГИ, но это сложновато. Вот более простой вариант:

Используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ как основной метод. Он устойчив и к фильтрации, и к удалению строк (при удалении строки формула в соседней строке пересчитает диапазон заново). Единственный минус — если вы вставите новую строку, формулу придётся скопировать в неё вручную (или использовать «умную таблицу»).

📌 Практические советы

  1. Оформите данные как «умную таблицу» (Ctrl+T). Тогда формулы автоматически распространяются на новые строки, а ссылки становятся понятнее (например, [Товар] вместо B:B).
  2. Для больших таблиц ПРОМЕЖУТОЧНЫЕ.ИТОГИ может немного замедлять пересчёт. Но для 10–50 тысяч строк незаметно.
  3. Если не хотите видеть номера при скрытых строках, но не нужна сквозная нумерация — используйте =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; $B$2:B2). Если нужны сквозные номера (как в исходной таблице без фильтра) — используйте =СТРОКА()-1.

💎 Итог

-4

Теперь ваши таблицы всегда будут выглядеть аккуратно, а нумерация — оставаться правильной при любых манипуляциях. Попробуйте оба способа на своих данных и выберите тот, который удобнее.

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

Успешной работы с Excel! 😊

Хитрости Эксель — полная коллекция видео на RUTUBE

⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇

Материалы по Эксель. Содержание данного канала:

https://dzen.ru/a/ZhpQXTxmQDShWlXf

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

На сегодня все!

Спасибо за внимание!