Как пронумеровать листы в Excel и узнать номер текущего листа

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

Чтобы узнать номер активного листа в Excel, используйте функцию =SHEET() — она вернет порядковый номер текущей вкладки. Если же требуется присвоить листам постоянные видимые номера (например, «01», «02»), встроенной кнопки для этого нет: придется либо переименовывать вкладки вручную с добавлением префикса, либо использовать макрос для автоматической нумерации всех листов книги сразу.

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

Краткий ответ: Функция =SHEET() показывает номер листа динамически. Для постоянной нумерации в названиях вкладок потребуется макрос или ручное переименование.

Как быстро узнать номер активного листа

В современных версиях Excel (начиная с 2013) существует специальная функция, которая возвращает индекс листа в книге. Это самый быстрый способ понять, какой по счету лист сейчас открыт или на который вы ссылаетесь.

Использование функции SHEET()

Функция работает без дополнительных настроек и поддерживает два режима:

  1. Номер текущего листа. Введите в любую ячейку:
    =SHEET()
    ```
    Формула вернет число (1, 2, 3...), соответствующее позиции вкладки слева направо. Если вы переместите лист, число обновится автоматически.

2.  **Номер конкретного листа по имени.** Чтобы узнать позицию другого листа, не переходя на него, укажите его название в кавычках:
    
```excel
    =SHEET("Отчет_Март")
    ```
    Это удобно при построении сложных формул, ссылающихся на другие вкладки, где важно знать их порядок.

Если функция =SHEET() возвращает ошибку #ИМЯ?, проверьте версию Excel. В версиях старше 2013 года эта функция недоступна. В таком случае используйте альтернативный метод с функцией =ЯЧЕЙКА("имяфайла";A1) и текстовыми формулами для извлечения номера, хотя это сложнее и менее надежно.

Автоматическая нумерация названий вкладок

Excel не умеет автоматически добавлять цифры к именам вкладок при их создании. Однако вы можете реализовать это двумя способами: ручным (для небольших книг) и автоматическим через макрос (для больших проектов).

Ручной метод с префиксами

Для книг из 5–10 листов проще всего добавить номер вручную. Это обеспечит фиксированный порядок, который не сбивается при перетаскивании вкладок мышью.

  • Формат: Используйте шаблон 01 - Название, 02 - Название.
  • Зачем нужен ноль: Префикс 01, 02 вместо 1, 2 важен для правильной сортировки. Без нуля компьютер отсортирует их как 1, 10, 11, 2, что нарушит логику.
  • Действие: Дважды кликните по названию вкладки или нажмите правой кнопкой мыши → Переименовать.

Автоматизация через макрос (VBA)

Если листов много или они часто добавляются/удаляются, ручной труд неэффективен. Макрос может за секунду пронумеровать все вкладки по порядку.

Инструкция по внедрению:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В меню выберите InsertModule.
  3. Вставьте следующий код в окно модуля:
Sub AutoNumberSheets()
    Dim i As Integer
    Dim sheetName As String
    
    ' Проходим по всем листам книги
    For i = 1 To ThisWorkbook.Sheets.Count
        ' Получаем текущее имя без возможного старого номера (удаляем префикс вида "01 - ")
        sheetName = ThisWorkbook.Sheets(i).Name
        ' Простая очистка от цифр в начале для примера (можно усложнить регулярым выражением)
        ' Здесь мы просто перезаписываем имя с новым номером
        
        ' Формируем новое имя: 01, 02, 03...
        ThisWorkbook.Sheets(i).Name = Format(i, "00") & " - " & sheetName
    Next i
    
    MsgBox "Нумерация выполнена успешно!", vbInformation
End Sub
  1. Закройте редактор и запустите макрос через Alt + F8, выбрав AutoNumberSheets.

Риск повреждения ссылок: Переименование листов через макрос может сломать формулы, если в них использовались жесткие ссылки на старые имена (редко, но бывает в сложном VBA-коде). Всегда делайте резервную копию файла перед запуском макроса переименования.

Создание навигационного оглавления

Вместо того чтобы нумеровать сами вкладки, можно создать главный лист-индекс. Это профессиональный подход для сложных финансовых моделей или отчетов.

  1. Создайте новый лист и назовите его «Оглавление» или «Start».
  2. Переместите его в самое начало книги (первая позиция).
  3. В столбце А перечислите названия разделов, а в столбце B используйте формулу гиперссылки:
    =ГИПЕРССЫЛКА("#'" & A2 & "'!A1"; "Перейти")
    ```
    Где `A2` — это ячейка с точным именем листа (например, "01 - Продажи").
4.  Рядом с названием можно вывести его актуальный номер через `=SHEET(A2)`, чтобы видеть текущую структуру книги.

Такой подход позволяет не трогать системные имена вкладок, сохраняя гибкость работы.

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

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

*   **Неправильная сортировка.** Нумерация `1, 2, ..., 9, 10` приводит к тому, что лист «10» встанет между «1» и «2». Всегда используйте ведущий ноль (`01, 02...`).
*   **Символы в названиях.** При автоматическом переименовании макрос может выдать ошибку, если в имени листа есть запрещенные символы (`: / \ ? * [ ]`). Убедитесь, что исходные имена чистые.
*   **Длина имени.** Имя листа в Excel ограничено 31 символом. Если вы добавляете префикс «01 - », убедитесь, что оставшееся место достаточно для описания.
*   **Игнорирование динамики.** Пользователи забывают, что функция `=SHEET()` меняет значение при перемещении вкладки. Если вам нужен статичный номер, его нужно «замораживать» вручную или через макрос.

## FAQ

**Можно ли нумеровать листы только при печати?**
Да, не обязательно менять имена вкладок. Зайдите в параметры страницы (Разметка страницы → Параметры страницы → Колонтитулы) и добавьте код `&[Вкладка]` в нижний или верхний колонтитул. При печати на каждой странице будет указан имя текущего листа.

**Как закрепить первый лист, чтобы он всегда был под номером 1?**
Выделите вкладку, нажмите правую кнопку мыши и выберите **Переместить или скопировать**. В списке «Переместить выбранные листы перед листом» выберите самый первый элемент. Лист встанет в начало. Для защиты от случайного перемещения можно защитить структуру книги (вкладка Рецензирование → Защитить книгу → Структура).

**Работает ли функция SHEET в Google Таблицах?**
Да, функция `=SHEET()` полностью поддерживается в Google Sheets и работает аналогичным образом, возвращая индекс вкладки внутри файла.