Как сделать нумерацию 1.1, 1.2, 1.3 в Excel — все способы от простого к сложному

Многоуровневая нумерация типа 1.1, 1.2, 2.3.1 — незаменимый инструмент для структурирования документов, технических заданий, оглавлений или любых иерархических списков в Microsoft Excel. На первый взгляд задача кажется тривиальной: вручную проставить цифры через точку. Но что делать, если строки постоянно добавляются, удаляются или перемещаются? Перенумеровывать всё заново? К счастью, в Excel есть как минимум 5 способов автоматизировать этот процесс — от элементарных до продвинутых.

В этой статье вы найдёте пошаговые инструкции для каждого метода, включая формулы, условное форматирование и даже VBA-макросы для самых сложных случаев. Мы разберём плюсы и минусы каждого подхода, чтобы вы могли выбрать оптимальный вариант под свои задачи. А в конце — FAQ с ответами на типичные ошибки и нюансы, которые возникают при работе с иерархической нумерацией.

Если вам нужно быстро разобраться — начните с первого раздела (ручной ввод и простые формулы). Для автоматизации больших таблиц сразу переходите к формулам с функцией СЧЁТЕСЛИ или VBA-скриптам. Все примеры протестированы в Excel 2019–2023 и Microsoft 365, но majority методов работают и в старых версиях (2010+).

📊 Как часто вам нужна многоуровневая нумерация в Excel?
Каждый день
1–2 раза в неделю
Редко, но метко
Никогда не пользовался

1. Ручной ввод: когда скорость важнее автоматизации

Самый очевидный способ — вводить номера вручную через точку. Это оправдано, если у вас небольшой список (до 20–30 строк) и он не будет меняться. Например, для разового оглавления или фиксированного плана работ.

Как это сделать:

  1. В первой колонке (например, A) введите номер первого уровня: 1.
  2. Во второй колонке (B) добавьте подпункт: 1.1, 1.2 и т.д.
  3. Для третьего уровня используйте формат 1.1.1, 1.1.2 и далее.

Плюсы: не требует знаний формул, работает в любом Excel.

Минусы: при добавлении/удалении строк придётся перенумеровывать всё вручную. Ошибки почти неизбежны.

⚠️ Внимание: Если вы копируете ячейки с ручной нумерацией в другую часть таблицы, Excel не обновит номера автоматически. Используйте Специальная вставка → Значения (Ctrl+Shift+V), чтобы избежать ссылок на исходные ячейки.

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

2. Формулы для автоматической нумерации: СЦЕПИТЬ и ТЕКСТ

Чтобы нумерация обновлялась сама при добавлении строк, используйте формулы. Основная идея: разделить номер на уровни (например, 1 и 1 для 1.1) и объединить их через точку.

Пример для двух уровней (1.1, 1.2, ...):

=СЦЕПИТЬ(A2; "."; B2)

где:

  • 📌 A2 — номер первого уровня (например, 1)
  • 📌 B2 — номер второго уровня (например, 1 для 1.1)

Для трёх уровней (1.1.1) формула будет такой:

=СЦЕПИТЬ(A2; "."; B2; "."; C2)

🔹 Альтернатива для старых версий Excel (до 2016):

=A2 & "." & B2

Как это работает на практике:

  1. В колонке A пронумеруйте первый уровень: 1, 2, 3...
  2. В колонке B укажите подпункты: 1, 2, 3... (для 1.1, 1.2...)
  3. В колонке C введите формулу =A2 & "." & B2 и протяните её вниз.

Создать колонки для каждого уровня (A, B, C...)

Пронумеровать первый уровень вручную (1, 2, 3...)

Заполнить подуровни (1, 2, 3...) в соседних колонках

Ввести формулу и протянуть её на все строки

-->

Плюсы: нумерация обновляется при изменении данных, нет риска ошибок при копировании.

Минусы: требует дополнительных колонок для хранения уровней.

3. Динамическая нумерация с СЧЁТЕСЛИ: для больших таблиц

Если у вас много строк и вы не хотите вручную проставлять номера подуровней, используйте функцию СЧЁТЕСЛИ. Она автоматически подсчитает количество строк с одинаковым номером первого уровня и присвоит им последовательные номера.

Формула для нумерации 1.1, 1.2, 2.1...:

=A2 & "." & СЧЁТЕСЛИ($A$2:A2; A2)

где:

  • 📌 A2 — номер первого уровня (например, 1)
  • 📌 СЧЁТЕСЛИ($A$2:A2; A2) — считает, сколько раз текущий номер первого уровня встречался до этой строки.

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

  1. В колонке A укажите номер первого уровня (например, 1 для всех подпунктов первого раздела).
  2. В колонке B введите формулу выше и протяните её вниз.

🔹 Пример:

Уровень 1 (A)Формула (B)Результат
1=A2 & "." & СЧЁТЕСЛИ($A$2:A2; A2)1.1
1=A3 & "." & СЧЁТЕСЛИ($A$2:A3; A3)1.2
2=A4 & "." & СЧЁТЕСЛИ($A$2:A4; A4)2.1
2=A5 & "." & СЧЁТЕСЛИ($A$2:A5; A5)2.2

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

Минусы: если строки удаляются, номера могут сбиться. Чтобы исправить, достаточно перетянуть формулу заново.

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

4. Нумерация с отступами: как в Word

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

Шаги:

  1. Создайте нумерацию по одному из предыдущих методов (например, с СЧЁТЕСЛИ).
  2. Выделите ячейки с подуровнями (например, 1.1, 1.2).
  3. Нажмите Ctrl+1 (или правый клик → Формат ячеек), перейдите на вкладку Выравнивание.
  4. В поле Отступ укажите значение (например, 3 для первого подуровня, 6 для второго).

🔹 Автоматизация отступов:

Если уровней много, используйте формулу для динамического отступа. Например, чтобы сдвигать ячейку вправо на 3 символа за каждый подуровень:

=ПОВТОР(" "; 3*(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; "."; "")))) & A1

где A1 — ячейка с номером (например, 1.1.2).

Плюсы: визуально понятная иерархия, как в текстовых редакторах.

Минусы: отступы не влияют на саму нумерацию, только на отображение.

Как сделать отступы цветными?

Чтобы подуровни выделялись не только отступом, но и цветом, используйте условное форматирование:

  1. Выделите диапазон с нумерацией.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу... и введите:
    =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; "."; ""))=1

    (для подуровней первого уровня, т.е. 1.1, 1.2).

  4. Задайте цвет фона или шрифта и нажмите ОК.

Повторите для других уровней, изменив число в конце формулы (=2 для 1.1.1).

5. VBA-макросы: для сложных иерархий

Если ваша нумерация имеет более 3 уровней или требует особой логики (например, пропуск номеров, связь с другими данными), на помощь придут макросы VBA. Этот метод подходит для опытных пользователей, но даёт максимальную гибкость.

Пример макроса для нумерации 1.1, 1.2, 2.1...:

Sub AutoNumbering()

Dim ws As Worksheet

Dim i As Long, lastRow As Long

Dim level1 As Integer, level2 As Integer

Set ws = ActiveSheet

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

level1 = 1

level2 = 1

For i = 2 To lastRow ' Начинаем со 2 строки

If ws.Cells(i, 1).Value <> ws.Cells(i - 1, 1).Value Then

level1 = level1 + 1

level2 = 1

Else

level2 = level2 + 1

End If

ws.Cells(i, 2).Value = level1 & "." & level2

Next i

End Sub

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

  • 📌 Макрос проходит по всем строкам колонки A (первый уровень).
  • 📌 Если значение в A меняется (новый раздел), сбрасывается счётчик подуровней.
  • 📌 Результат записывается в колонку B.

🔹 Как запустить макрос:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль (Insert → Module).
  3. Закройте редактор и вернитесь в Excel.
  4. Нажмите Alt+F8, выберите AutoNumbering и нажмите Выполнить.

Плюсы: обрабатывает любые сложные схемы нумерации, работает мгновенно даже для тысяч строк.

Минусы: требует знаний VBA, макросы могут не работать в некоторых версиях Excel (например, в онлайн-версии).

⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе Excel заблокирует выполнение кода.

6. Нумерация в сводных таблицах: особенности

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

Способ 1: Формула в исходных данных

  1. Добавьте в исходную таблицу колонку с формулой нумерации (например, =СЧЁТЕСЛИ($A$2:A2; A2)).
  2. Обновите сводную таблицу — она подтянет новые данные.

Способ 2: Настройка полей сводной таблицы

  • 📌 Добавьте в сводную таблицу поле, по которому нужно нумеровать (например, Категория).
  • 📌 В настройках поля (Параметры поля) выберите Показать все элементы.
  • 📌 Добавьте вычисляемое поле с формулой нумерации (через Поля, элементы и наборы → Вычисляемое поле).

Плюсы: нумерация обновляется при изменении данных в сводной таблице.

Минусы: требует предварительной подготовки исходных данных.

7. Типичные ошибки и как их избежать

Даже с автоматизированными методами пользователи часто сталкиваются с проблемами. Вот TOP-5 ошибок и их решения:

🔘 Проблема: Номера дублируются после добавления строк.

🔹 Решение: Перетяните формулу заново или используйте СЧЁТЕСЛИ с абсолютными ссылками ($A$2:A2).

🔘 Проблема: Нумерация сбивается при сортировке.

🔹 Решение: Закрепите диапазоны в формулах (например, СЧЁТЕСЛИ($A$2:$A$100; A2)) или используйте вспомогательную колонку с уникальными идентификаторами.

🔘 Проблема: Формулы возвращают ошибку #ЗНАЧ!.

🔹 Решение: Проверьте, что все ячейки в диапазоне содержат числа, а не текст. Используйте ЗНАЧЕН для преобразования: =ЗНАЧЕН(A2) & "." & СЧЁТЕСЛИ(...).

🔘 Проблема: Нумерация не обновляется при фильтрации.

🔹 Решение: Замените СЧЁТЕСЛИ на ПРОМЕЖУТОЧНЫЕ.ИТОГИ или используйте таблицу Excel (Ctrl+T) с автоматическим фильтром.

🔘 Проблема: В макросе возникает ошибка Run-time error '1004'.

🔹 Решение: Убедитесь, что листа с данными не переименовывали. Замените ActiveSheet на конкретное имя, например: Set ws = ThisWorkbook.Sheets("Лист1").

FAQ: Ответы на частые вопросы

Как сделать нумерацию 1.1.1, 1.1.2 (три уровня)?

Используйте формулу с вложенными СЧЁТЕСЛИ:

=A2 & "." & СЧЁТЕСЛИ($A$2:A2; A2) & "." & СЧЁТЕСЛИ($B$2:B2; B2)

где A — первый уровень, B — второй, а третий уровень считается автоматически.

Можно ли сделать нумерацию без дополнительных колонок?

Да, но только с помощью VBA. Стандартные формулы Excel требуют хотя бы одной вспомогательной колонки для хранения уровней.

Почему после копирования формул номера не обновляются?

Скорее всего, вы скопировали значения, а не формулы. Используйте Правка → Специальная вставка → Формулы или нажмите Ctrl+CCtrl+Alt+VФ.

Как нумеровать строки с пропусками (например, 1, 3, 5)?

Используйте формулу с ПОИСКПОЗ:

=ЕСЛИОШИБКА(ПОИСКПОЗ(A2; $A$2:$A$100; 0); "") & "." & СЧЁТЕСЛИ($A$2:A2; A2)

Это пропустит пустые ячейки.

Работает ли эта нумерация в Google Sheets?

Да, все формулы (СЦЕПИТЬ, СЧЁТЕСЛИ) работают в Google Таблицах без изменений. Для макросов используйте Google Apps Script.