Как автоматически заполнить порядковые номера, пропуская пустые ячейки в списке?
При работе со списками данных в Excel часто встречаются ситуации, когда не все ячейки заполнены. Например, вы могли импортировать информацию или собрать ответы, оставившие пустые ячейки между записями. В таких случаях может потребоваться присвоить порядковые номера только заполненным ячейкам — исключив пустые из системы нумерации, чтобы последовательность шла без разрывов. Это делает списки более упорядоченными и улучшает читаемость, особенно при необходимости перекрёстной ссылки на Установить количество строк или систематического отслеживания записей.
Ниже приведён пример списка, содержащего некоторые пустые строки. Наша цель — автоматически присвоить порядковые номера только тем ячейкам, которые содержат данные, пропуская пустые, как показано ниже:

В этой статье представлены несколько практических методов реализации данной задачи в Excel:
- Автозаполнение порядковых номеров и пропуск пустых ячеек с помощью формулы
- Код VBA — автоматическая генерация и заполнение порядковых номеров с пропуском пустых ячеек
- Другие встроенные методы Excel — использование Power Query для добавления индекса и фильтрации пустых значений
<2 style=«border-bottom: solid2px #217346;»>Автозаполнение порядковых номеров и пропуск пустых ячеек с помощью формулы
Если вы хотите легко пронумеровать только непустые ячейки, пропуская пустые строки в наборе данных, воспользуйтесь эффективной формулой Excel, сочетающей функции СЧЁТЗ, ЕПУСТО и ЕСЛИ. Этот метод идеально подходит для данных, расположенных в одном столбце, и позволяет мгновенно генерировать сквозные порядковые номера только там, где есть значения.
Этот метод особенно полезен для наборов данных умеренного размера, обрабатываемых вручную, а также когда нужно быстро решить задачу без написания кода или подключения дополнительных инструментов Excel.
Чтобы применить это решение, выполните следующие шаги:
1.Выделите пустую ячейку, в которую нужно вставить первый порядковый номер (например, ячейку B2, если ваши данные начинаются с ячейки A2 в столбце A). Введите следующую формулу:
Пояснение параметров:
- A2: ячейка, проверяемая на пустоту.
- $A$2:A2: расширяющийся диапазон при автозаполнении вниз — подсчитывает количество непустых ячеек, появившихся к текущему моменту.
- Формула возвращает порядковый номер, только если соответствующая ячейка в столбце A заполнена; в противном случае — пустую строку.
2. Подтвердите формулу нажатием клавиши Enter. Затем поместите курсор в правый нижний угол ячейки, дождитесь появления маркера заполнения и протяните его вниз по списку. Формула автоматически адаптируется для каждой строки: проставит номера только там, где есть данные, а пустые строки оставит без изменений.
Для наилучших результатов убедитесь, что целевые ячейки не содержат пробелов или невидимых символов. Если вы замечаете ошибки или неожиданные пустые значения, очистите эти ячейки от лишнего содержимого. Если ваш диапазон данных часто меняется, рекомендуем преобразовать его в таблицу — это значительно упростит управление формулами.
При успешном применении формулы вы получите результат, аналогичный приведённому на скриншоте ниже:

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

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Код VBA — автоматическая генерация и заполнение порядковых номеров с пропуском пустых ячеек
Для пользователей, которым нужен более автоматизированный подход — особенно при работе с длинными списками или часто обновляемыми данными, — макрос VBA быстро присвоит порядковые номера непустым ячейкам, оставив пустые без изменений. Этот метод идеален для обработки больших объёмов данных, экономии времени и создания повторяемого пользовательского решения.
Вот как настроить и использовать макрос VBA для решения этой задачи:
1. Перейдите в меню Разработчик в верхней части окна Excel, затем нажмите Visual Basic. В открывшемся окне выберите Вставка > Модуль и вставьте следующий код в модуль:
Sub FillSerialNumbersSkipBlanks()
Dim Rng As Range
Dim cell As Range
Dim SerialNum As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set Rng = Application.Selection
Set Rng = Application.InputBox("Select the data range based on which serial numbers will be filled", xTitleId, Rng.Address, Type:=8)
SerialNum = 1
For Each cell In Rng
If Not IsEmpty(cell.Value) Then
cell.Offset(0, 1).Value = SerialNum
SerialNum = SerialNum + 1
Else
cell.Offset(0, 1).Value = ""
End If
Next cell
End Sub 2.После вставки кода вернитесь в Excel и нажмите кнопку
Выполнить. Появится диалоговое окно с запросом на выбор диапазона ячеек, содержащих ваши данные (например, выделите A2:A20). Код заполнит порядковыми номерами соседний столбец (B2:B20), пропуская пустые ячейки в исходном диапазоне.
Если выделенный диапазон содержит объединённые ячейки или формулы, возвращающие пустые значения, это может повлиять на точность результатов. Для получения надёжных данных рекомендуется использовать отдельные, необъединённые ячейки. Если макрос работает некорректно, убедитесь, что макросы включены в Excel, и проверьте правильность выделения диапазона данных.
Это решение на основе VBA автоматически присваивает порядковые номера рядом с непустыми ячейками и подходит для многократного использования в разных столбцах или диапазонах. При необходимости вы можете изменить ссылку cell.Offset(0,1), чтобы размещать порядковые номера в другом столбце.
Другие встроенные методы Excel — использование Power Query для добавления индекса и фильтрации пустых значений
Power Query предлагает гибкий способ обработки и преобразования данных, включая генерацию порядковых номеров исключительно для непустых ячеек. Этот метод идеально подходит для работы с крупными наборами данных, импорта информации из внешних источников и случаев, когда требуется автоматическое обновление нумерации при изменении исходных данных. Ключевые преимущества подхода — повторяемость, автоматизация и возможность одновременно очищать данные и присваивать им порядковые номера.
Чтобы использовать Power Query для заполнения порядковых номеров с пропуском пустых значений:
- Сначала выделите свой диапазон данных, затем перейдите в меню Данные > Из таблицы/диапазона, чтобы загрузить данные в Power Query. Когда появится запрос, разрешите Excel создать таблицу вокруг ваших данных.
- В редакторе Power Query отфильтруйте строки, где целевой столбец пуст: нажмите стрелку раскрывающегося списка в заголовке столбца, снимите флажок (null) и подтвердите выбор, нажав «ОК».
- После исключения пустых значений перейдите в меню Добавить столбец > Столбец индекса и выберите От 1, чтобы начать нумерацию с 1, или От 0, если требуется нумерация с нуля.
- Нажмите Закрыть и загрузить, чтобы вернуть в Excel полностью пронумерованную таблицу без пустых значений.
Power Query позволяет легко обновлять данные при изменении исходных, автоматически поддерживая актуальность порядковых номеров. Если структура ваших данных часто меняется, этот подход обеспечивает стабильность и повторяемость. Однако его настройка может оказаться сложнее, чем использование формул или VBA, для простых списков.
Если возникают проблемы, например невозможность загрузки из диапазона, убедитесь, что ваши данные не содержат объединённых ячеек и отформатированы в виде таблицы. При работе с очень большими объёмами данных через Power Query производительность обычно остаётся стабильной, однако для подготовки несогласованных входных данных могут потребоваться дополнительные этапы очистки.
Каждый из описанных выше методов можно выбрать в зависимости от объёма данных и ваших рабочих привычек: формульный подход идеален для небольших диапазонов благодаря своей простоте и скорости, VBA — лучший выбор для массовых или регулярно повторяющихся задач, а Power Query отлично подойдёт продвинутым пользователям и при работе с динамически изменяющимися наборами данных.
Если вам нужна дополнительная помощь, обратитесь к справке Excel или документации поддержки Kutools, чтобы найти больше практических примеров нумерации и организации данных.
Лучшие инструменты для повышения продуктивности в Office
Kutools для Excel — помогает вам выделиться из толпы
Kutools для Excel предлагает более 300 функций,гарантируя, что всё необходимое будет всего в одном клике…
Office Tab — включает вкладки для чтения и редактирования в Microsoft Office (включая Excel)
- Переключайтесь между десятками открытых документов всего за секунду!
- Сократите сотни кликов мышью каждый день и забудьте о «мышечной руке».
- Повышает продуктивность на 50 % при просмотре и редактировании нескольких документов.
- Добавляет удобство и эффективность работы с вкладками в Office (включая Excel) — как в Chrome, Edge и Firefox.