Как в Excel задать нумерацию страниц при печати: 5 проверенных способов

Почему в Excel не получается просто пронумеровать страницы как в Word

Microsoft Excel — это не текстовый редактор, а программа для работы с таблицами и данными. Поэтому здесь нет привычной функции "Вставить номер страницы", как в Microsoft Word или Google Docs. Нумерация реализуется через колонтитулы — специальные области, которые отображаются только в режиме предварительного просмотра и при печати.

Главная сложность: Excel оперирует не "страницами" в привычном понимании, а листами и печатными областями. Если ваша таблица занимает 10 экранных страниц при печати, но находится на одном листе — нумерация будет сквозной. А если данные разбросаны по нескольким листам книги — придётся настраивать каждый отдельно.

Ещё один нюанс: в новых версиях Excel 365 и Excel 2021 интерфейс настройки колонтитулов слегка изменился по сравнению с Excel 2010-2016. Мы рассмотрим оба варианта, а также альтернативные методы для сложных случаев.

Способ 1: Нумерация через стандартные колонтитулы (самый простой)

Это базовый метод, который работает во всех версиях Excel. Подходит, если вам нужно пронумеровать страницы в пределах одного листа.

  1. Перейдите в режим разметки страницы. Для этого нажмите Вид → Разметка страницы или кликните по иконке лупы в правом нижнем углу окна.
  2. Добавьте колонтитул. Дважды щёлкните по верхней или нижней части листа (там появится надпись "Щелкните, чтобы добавить верхний/нижний колонтитул").
  3. Вставьте номер страницы. В открывшейся вкладке Конструктор (или Работа с колонтитулами в старых версиях) нажмите кнопку Номер страницы.

По умолчанию номер появится в правом верхнем углу. Чтобы изменить его положение:

  • 📍 Перетащите поле с номером в левый/центральный блок колонтитула.
  • 🔤 Добавьте текст рядом с номером (например, "Страница &[Page] из &[Pages]").
  • 🎨 Форматируйте шрифт и размер через мини-панель инструментов.

Дважды щёлкните по колонтитулу, чтобы убедиться, что номер отображается

Проверьте предварительный просмотр (Файл → Печать)

Убедитесь, что нумерация сквозная (если несколько листов — см. Способ 3)

Сохраните файл, чтобы настройки не сбросились-->

⚠️ Внимание: Если вы добавите колонтитул на одном листе, он не появится автоматически на других. Придётся повторять процедуру для каждого листа книги или использовать макрос (см. Способ 4).

Способ 2: Нумерация "Страница X из Y" (с общим количеством)

Часто требуется указать не только текущий номер, но и общее количество страниц (например, "Страница 3 из 12"). Для этого:

  1. Активируйте колонтитул (двойной клик в режиме разметки).
  2. Вручную введите текст: Страница (с пробелом после).
  3. Нажмите кнопку Номер страницы на ленте — появится &[Page].
  4. Добавьте текст из (с пробелами).
  5. Нажмите кнопку Число страниц — появится &[Pages].

Итоговый вид в колонтитуле:

Страница &[Page] из &[Pages]

Эти специальные коды &[Page] и &[Pages] Excel автоматически заменит на актуальные значения при печати. Если вы увидите именно эти коды в предварительном просмотре — значит, колонтитул не активирован (кликните по нему ещё раз).

Код Что отображает Пример на печати
&[Page] Текущий номер страницы 3
&[Pages] Общее количество страниц 12
&[Date] Текущая дата 15.05.2026
&[Time] Текущее время 14:30
&[File] Имя файла Отчёт_за_апрель.xlsx

💡 Полезный совет: Если вам нужна нумерация вида "1/12", "2/12" и т.д., используйте формат &[Page]/&[Pages] без пробелов. Excel корректно обработает дробь.

Только номер страницы (1, 2, 3...)

Страница X из Y (3 из 12)

Дробный формат (3/12)

Не использую нумерацию-->

Способ 3: Сквозная нумерация для всех листов книги

По умолчанию каждый лист Excel нумеруется отдельно: первый лист — страницы 1, 2, 3..., второй лист — снова 1, 2, 3... Чтобы сделать сквозную нумерацию (1, 2, 3... на всём документе), потребуется VBA-макрос.

Инструкция:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В окне Project найдите вашу книгу (например, VBAProject (Отчёт.xlsx)).
  3. Дважды кликните по разделу ThisWorkbook.
  4. Вставьте этот код:
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    

    Dim ws As Worksheet

    Dim TotalPages As Long

    Dim PageNum As Long

    ' Считаем общее количество страниц во всех листах

    For Each ws In ThisWorkbook.Worksheets

    TotalPages = TotalPages + ws.PageSetup.Pages.Count

    Next ws

    ' Устанавливаем сквозную нумерацию

    PageNum = 1

    For Each ws In ThisWorkbook.Worksheets

    With ws.PageSetup

    .LeftFooter = "Страница " & PageNum & " из " & TotalPages

    PageNum = PageNum + .Pages.Count

    End With

    Next ws

    End Sub

  5. Закройте редактор VBA и сохраните файл как .xlsm (с поддержкой макросов).

Теперь при каждом нажатии Печать макрос будет автоматически пересчитывать общее количество страниц и проставлять сквозную нумерацию. Обратите внимание: этот метод работает только при печати через меню Excel, а не через контекстное меню правой кнопки мыши.

Что делать, если макрос не работает?

1. Убедитесь, что файл сохранён в формате .xlsm, а не .xlsx.

2. Проверьте настройки безопасности макросов: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройка макросов → выберите "Включить все макросы" (временное решение) или "Отключить все макросы с уведомлением".

3. Если используется Excel Online, макросы не поддерживаются — нумерацию придётся настраивать вручную в десктопной версии.

Способ 4: Нумерация с помощью формул (для опытных пользователей)

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

Алгоритм:

  1. Создайте на листе служебную ячейку (например, A1) и введите туда формулу:
    =CEILING(ROW()/50,1)

    Здесь 50 — количество строк на одной печатной странице (уточните это значение в настройках печати).

  2. Перейдите в колонтитул и вставьте ссылку на эту ячейку: нажмите на поле колонтитула, затем кликните по ячейке A1 на листе. В колонтитуле появится код &[A1].
  3. Скройте служебную ячейку или перенесите её на отдельный лист.

Преимущество этого метода: номер будет обновляться автоматически при добавлении/удалении строк. Однако есть и минусы:

  • ⚠️ Требуется точная настройка количества строк на странице.
  • ⚠️ При изменении масштаба печати нумерация собьётся.
  • ⚠️ Не работает для сквозной нумерации нескольких листов.

🔹 Ключевой вывод: Этот способ подходит для таблиц с фиксированной структурой, где редко меняется количество строк. Для гибких отчётов лучше использовать стандартные колонтитулы (Способ 1).

Способ 5: Нумерация вручную (если ничего не помогает)

В некоторых случаях автоматические методы не работают:

- Печать через Excel Online (нет поддержки колонтитулов).

- Экспорт в PDF через сторонние программы.

- Сложные макеты с нестандартной разметкой.

Тогда можно пронумеровать страницы вручную:

  1. Добавьте отдельный столбец слева от таблицы с номерами страниц.
  2. Используйте формулу для расчёта номера:
    =INT((ROW()-1)/50)+1

    Где 50 — количество строк на странице, а ROW()-1 корректирует нумерацию с единицы.

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

⚠️ Внимание: При изменении данных или масштаба страницы придётся пересчитывать нумерацию заново. Этот метод требует постоянного контроля!

Частые ошибки и как их исправить

Даже при правильной настройке нумерация может работать некорректно. Рассмотрим типичные проблемы:

Проблема Причина Решение
Номера не отображаются в предварительном просмотре Колонтитул не активирован Дважды кликните по области колонтитула, чтобы увидеть коды &[Page]
Нумерация начинается не с 1 На листе есть скрытые строки или настройки печати сбиты Проверьте параметры страницы: Разметка → Параметры страницы → Лист → Номер первой страницы
На всех страницах стоит "1 из 1" Неправильно задана печатная область Установите печатную область: выделите данные → Разметка → Печатная область → Задать
Номера накладываются на текст Слишком большие поля колонтитула Уменьшите размер шрифта в колонтитуле или настройте отступы: Параметры страницы → Поля

Ещё одна распространённая ошибка: нумерация сбивается при печати нескольких листов. Это происходит потому, что Excel по умолчанию нумерует каждый лист отдельно. Решения:

  • 🔄 Используйте макрос для сквозной нумерации (Способ 3).
  • 📄 Объедините данные на одном листе (если возможно).
  • 🖨️ Печатайте листы по отдельности и нумеруйте вручную в PDF.

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

Можно ли пронумеровать страницы в Excel Online?

Нет, в веб-версии Excel (Excel Online) нет возможности добавлять колонтитулы. Альтернативы:

  • Откройте файл в десктопной версии Excel и настройте нумерацию.
  • Экспортируйте в PDF и добавьте нумерацию через редактор PDF (например, Adobe Acrobat).
  • Используйте ручную нумерацию в отдельном столбце (Способ 5).
Как убрать номер страницы с первой страницы?

В Excel можно сделать так, чтобы на первой странице номер не отображался:

  1. Активируйте колонтитул (двойной клик в режиме разметки).
  2. На вкладке Конструктор установите галочку Особый колонтитул для первой страницы.
  3. Удалите номер страницы из колонтитула первой страницы (оставив его на остальных).

Этот метод работает только для первого листа книги. Для остальных листов нумерация будет начинаться с 1.

Почему при печати нумерация идёт не по порядку (1, 3, 2, 4)?

Это происходит из-за настроек порядка страниц при печати. Excel может печатать страницы не подряд, а сначала все нечётные, затем чётные (для двусторонней печати).

Решение:

  1. Перейдите в Файл → Печать.
  2. Нажмите Параметры страницы внизу окна.
  3. На вкладке Лист в разделе Порядок страниц выберите Вниз, затем вправо.
Как пронумеровать страницы римскими цифрами (I, II, III)?

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

  1. Создайте на листе служебный столбец с римскими цифрами (используйте функцию =ROMAN(1), =ROMAN(2) и т.д.).
  2. В колонтитуле ссылайтесь на соответствующую ячейку этого столбца (например, &[A1]).
  3. Скройте служебный столбец перед печатью.

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

Можно ли сделать разную нумерацию для чётных и нечётных страниц?

Да, но только с помощью VBA. Вставьте этот код в модуль листа:

Private Sub Worksheet_BeforePrint(Cancel As Boolean)

Dim i As Integer

With Me.PageSetup

.OddAndEvenPagesHeaderFooter = True

.OddHeader.LeftHeader = "Нечётная страница: &[Page]"

.EvenHeader.LeftHeader = "Чётная страница: &[Page]"

End With

End Sub

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