Как вставить название файла Excel в ячейку или колонтитул: полное руководство

Зачем вставлять имя файла в Excel и где это пригодится

Вы когда-нибудь открывали таблицу Excel через месяц после создания и не могли вспомнить, к какому проекту она относится? Или отправляли коллеге файл с данными, но забыли указать в самом документе, что это за отчёт и за какой период? Вставка названия файла прямо в таблицу решает эти проблемы раз и навсегда.

Автоматическое отображение имени файла в ячейке, колонтитуле или даже в заголовке листа экономит время и снижает риск ошибок. Это особенно полезно для:

  • 📊 Отчётов — чтобы сразу видеть, к какому отделу или периоду относятся данные.
  • 📂 Архивов — когда у вас сотни файлов с похожими названиями (например, "Отчёт_2026_Q1_final_v3.xlsx").
  • 🤝 Командной работы — коллеги увидят версию файла без лишних вопросов.
  • 🔄 Шаблонов — автоматически подставляется имя нового файла при сохранении.

В этой статье вы узнаете 5 способов вставить название файла в Excel — от простых функций до VBA-скриптов для автоматизации. Все методы работают в версиях Excel 2010–2026 (включая Microsoft 365) и не требуют установки дополнительных надстроек.

📊 Как часто вы работаете с большими таблицами в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Функция CELL для вставки пути и имени файла

Самый быстрый способ — использовать встроенную функцию CELL (или ЯЧЕЙКА в русской версии). Она возвращает информацию о формате, расположении или содержимом ячейки, но у неё есть скрытая возможность: отображение полного пути к файлу.

Введите в любую ячейку следующую формулу:

=CELL("filename")

Если у вас русскоязычный Excel, используйте:

=ЯЧЕЙКА("имяфайла")

Функция вернёт полный путь в формате:

C:\Путь\к\папке\[Имя_файла.xlsx]Лист1

Чтобы извлечь только имя файла без пути, оберните формулу в MID (или ПСТР):

=MID(CELL("filename"), FIND("]", CELL("filename"))+1, 32)

Здесь FIND("]", ...) находит закрывающую скобку в пути, а 32 — максимальная длина имени файла (можно увеличить до 255).

⚠️ Внимание: Если файл ещё не сохранён, функция вернёт ошибку #VALUE!. Сначала сохраните документ (Ctrl+S), затем обновляйте формулу (F9).
Формула Результат Применение
=CELL("filename") C:\Reports\[Sales_Q1.xlsx]Sheet1 Полный путь + имя листа
=MID(CELL("filename"), FIND("]", CELL("filename"))+1, 32) Sales_Q1.xlsx Только имя файла
=LEFT(CELL("filename"), FIND("[", CELL("filename"))-1) C:\Reports\ Только путь к папке

Сохраните файл (Ctrl+S)

Проверьте, что имя файла не содержит символы [] (они сломают формулу)

Обновите значения формул (F9) если результат не появился-->

Способ 2: VBA-макрос для динамического обновления

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

Откройте редактор VBA (Alt+F11) и вставьте следующий код в модуль листа (двойной клик по названию листа в окне Project Explorer):

Private Sub Worksheet_Activate()

Dim fileName As String

fileName = ThisWorkbook.Name

Range("A1").Value = "Файл: " & fileName

End Sub

Этот скрипт будет автоматически вставлять имя файла в ячейку A1 при активации листа. Чтобы изменить ячейку, замените Range("A1") на нужный адрес (например, Range("B2")).

Для более гибкого решения создайте пользовательскую функцию:

Function GetFileName(Optional includePath As Boolean = False) As String

If includePath Then

GetFileName = ThisWorkbook.FullName

Else

GetFileName = ThisWorkbook.Name

End If

End Function

Теперь в любой ячейке можно использовать:

=GetFileName()  ' Только имя файла

=GetFileName(TRUE) ' Полный путь

⚠️ Внимание: Макросы работают только если файл сохранён в формате .xlsm (с поддержкой макросов). При сохранении в .xlsx Excel удалит весь VBA-код.

Способ 3: Вставка имени файла в колонтитул

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

Перейдите на вкладку ВставкаКолонтитулы (или View → Page Layout в английской версии). Затем:

  1. Кликните по верхнему или нижнему колонтитулу (появится вкладка Работа с колонтитулами).
  2. Выберите Вставить имя файла в панели инструментов (значок с папкой).
  3. Отредактируйте формат: добавьте префикс (например, "Документ: ") или измените шрифт.

Преимущества этого способа:

  • 🖨️ Имя файла будет видно на каждой странице при печати.
  • 🔒 Не зависит от формул — работает даже если отключены вычисления (Формулы → Параметры вычислений → Вручную).
  • 📁 Автоматически обновляется при переименовании файла.

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

  1. Кликните по колонтитулу → Работа с колонтитулами → Конструктор.
  2. Найдите поле с путём (начинается с &[Path]).
  3. Замените его на &[File] — это оставит только имя файла.
Как вставить текущую дату в колонтитул?

Помимо имени файла, в колонтитулы можно добавить:

- Текущую дату: вставьте поле &[Date]

- Текущее время: &[Time]

- Номер страницы: &[Page]

- Общее количество страниц: &[Pages]

Эти поля обновляются автоматически при каждом открытии или печати файла.

Способ 4: Power Query для массовой обработки файлов

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

Пример: у вас есть папка с ежемесячными отчётами (Отчёт_Январь.xlsx, Отчёт_Февраль.xlsx), и вы хотите создать сводную таблицу с указанием месяца из имени файла.

Инструкция:

  1. Перейдите на вкладку ДанныеПолучить данные → Из файла → Из папки.
  2. Выберите папку с файлами и нажмите OK.
  3. В окне предварительного просмотра нажмите Преобразовать данные.
  4. В Power Query добавьте пользовательский столбец с формулой:
= Text.BeforeDelimiter([Name], ".")

Эта формула извлечёт имя файла без расширения (.xlsx).

Чтобы вытащить месяц из имени файла (например, из Отчёт_Январь.xlsx), используйте:

= Text.AfterDelimiter([Name], "_")

После обработки загрузите данные обратно в Excel (Главная → Закрыть и загрузить). Теперь у вас будет таблица с именами файлов и извлечёнными данными.

⚠️ Внимание: Power Query обновляет данные только при ручном запросе (Данные → Обновить все). Если файлы в папке изменяются часто, настройте автоматическое обновление через Свойства соединения → Обновить каждые N минут.

Способ 5: Динамические массивы (Excel 365 и 2021)

В последних версиях Excel (начиная с Microsoft 365 и Excel 2021) появились динамические массивы, которые позволяют извлекать части пути без сложных формул. Например, чтобы получить имя файла без расширения, используйте:

=LET(

fullPath, CELL("filename"),

fileName, MID(fullPath, FIND("]", fullPath)+1, LEN(fullPath)),

LEFT(fileName, FIND(".", fileName)-1)

)

Эта формула делает следующее:

  1. CELL("filename") — получает полный путь.
  2. MID(..., FIND("]"+1, ...) — обрезает всё до имени файла.
  3. LEFT(..., FIND(".", ...)-1) — убирает расширение (.xlsx).

Для извлечения даты из имени файла (например, из Отчёт_2026-05-15.xlsx) используйте:

=LET(

fullPath, CELL("filename"),

fileName, MID(fullPath, FIND("]", fullPath)+1, LEN(fullPath)),

DATEVALUE(MID(fileName, FIND("_", fileName)+1, 10))

)

Эта формула найдёт подчёркивание (_) и преобразует следующие 10 символов (дату в формате ГГГГ-ММ-ДД) в значение даты.

Преимущества динамических массивов:

  • 🔄 Автоматически расширяются при изменении данных.
  • 🧩 Можно комбинировать с другими функциями (например, FILTER, SORT).
  • 📊 Легко интегрируются в сводные таблицы.

Частые ошибки и как их избежать

Даже с простыми формулами пользователи сталкиваются с проблемами. Вот самые распространённые ошибки и их решения:

Ошибка Причина Решение
#VALUE! в функции CELL Файл не сохранён или имя содержит символы [] Сохраните файл (Ctrl+S) и уберите [] из имени
Макрос не работает Файл сохранён в формате .xlsx (без макросов) Сохраните как .xlsm (Файл → Сохранить как → Тип файла: "Книга Excel с поддержкой макросов")
Имя файла не обновляется Отключены автоматические вычисления Включите в Формулы → Параметры вычислений → Автоматически или нажмите F9
В колонтитуле отображается путь, а не имя Используется поле &[Path] вместо &[File] Отредактируйте колонтитул вручную (замените &[Path] на &[File])

Ещё одна типичная проблема — длинные пути к файлу. Если ваш файл лежит глубоко в папках (например, C:\Users\Имя\Documents\Проекты\2026\Отчёты\Финансы\...), функция CELL может обрезать результат. В этом случае:

  • 📁 Переместите файл ближе к корню диска (например, в C:\Reports\).
  • 🔗 Используйте сетевой путь (например, \\Server\Reports\) — он короче.
  • 📌 Создайте ярлык на файл и работайте с ним (но помните, что CELL вернёт путь к ярлыку, а не к оригиналу).

Если вы работаете с облачными файлами (OneDrive, SharePoint), функция CELL может возвращать временные пути. В этом случае лучше использовать VBA или Power Query.

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

Можно ли вставить имя файла в заголовок листа?

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

Private Sub Worksheet_Activate()

Me.Name = Left(ThisWorkbook.Name, 31) ' Максимум 31 символ для имени листа

End Sub

Ограничения:

  • Имя листа не может превышать 31 символ.
  • Нельзя использовать символы /?*[]:.
  • Если такое имя уже существует, Excel добавит номер (например, "Отчёт (2)").
Как вставить имя файла в ячейку без расширения (.xlsx)?

Используйте эту формулу:

=LEFT(MID(CELL("filename"), FIND("]", CELL("filename"))+1, 255), FIND(".", MID(CELL("filename"), FIND("]", CELL("filename"))+1, 255))-1)

Или в Excel 365:

=LET(x, MID(CELL("filename"), FIND("]", CELL("filename"))+1, 255), LEFT(x, FIND(".", x)-1))
Почему функция CELL возвращает ошибку #NAME?

Это происходит в двух случаях:

  1. Вы используете английскую функцию (CELL) в русской версии Excel. Замените на ЯЧЕЙКА.
  2. В настройках Excel отключены автоматические вычисления. Включите их в Формулы → Параметры вычислений → Автоматически.
Можно ли вставить имя файла в комментарий к ячейке?

Прямого способа нет, но можно автоматизировать это через VBA:

Sub AddFileNameToComment()

Dim ws As Worksheet

Set ws = ActiveSheet

With ws.Range("A1").AddComment

.Text "Файл: " & ThisWorkbook.Name

.Shape.TextFrame.AutoSize = True

End With

End Sub

Этот макрос добавит комментарий к ячейке A1 с именем файла. Чтобы запустить его автоматически, разместите вызов в событии Workbook_Open.

Как вставить имя файла в заголовок диаграммы?

Для этого нужно:

  1. Создать связанную ячейку с именем файла (например, в A1 с формулой =MID(CELL("filename"), FIND("]", CELL("filename"))+1, 32)).
  2. Выделить диаграмму → Макет → Название диаграммы → Связанный заголовок.
  3. В поле ввода указать адрес ячейки (например, =Лист1!$A$1).

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