Гид по технологиям

Функция INDIRECT в Excel: полное руководство

5 min read Excel Обновлено 28 Mar 2026
Функция INDIRECT в Excel — руководство
Функция INDIRECT в Excel — руководство

Логотип Excel на фоне графика с растущей кривой.

Что делает функция INDIRECT

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

Определение в одну строку: INDIRECT берёт текстовую строку и интерпретирует её как адрес ячейки или именованный диапазон.

Синтаксис

=INDIRECT(ref_text, [A1])
  • ref_text — обязательный аргумент. Текст, содержащий корректную ссылку: адрес ячейки, диапазон, именованный диапазон или ссылка на другой лист (например, “Лист1!A2:A10”).
  • [A1] — необязательный логический аргумент: TRUE (или опущено) означает стиль A1, FALSE — стиль R1C1.

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

Примеры использования

1. Получение значения по указанному имени товара

Предположим, в столбце A (A2:A8) — список товаров, а в B (B2:B8) — цены. В D2 указано имя товара, например “Apples”. Формула:

=INDIRECT("B" & MATCH(D2, A2:A8, 0))

Логика:

  • MATCH ищет позицию товара в списке и возвращает номер строки относительный к диапазону.
  • Строка “B” & MATCH(…) формирует адрес типа “B5”.
  • INDIRECT обращается к ячейке B5 и возвращает цену.

Получение соответствующих значений с помощью INDIRECT в Excel

2. Сумма диапазона, заданного текстом

Если нужно суммировать ячейки A1:A7, можно передать диапазон как текст:

=SUM(INDIRECT("A1:A7"))

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

Суммирование диапазона ячеек с использованием INDIRECT в Excel

3. Обращение к именованным диапазонам

Если в книге определён именованный диапазон, например Week1 (B2:B6), и в ячейке F2 записано имя Week1, то формула

=AVERAGE(INDIRECT(F2))

вернёт среднее значение по диапазону Week1.

Пример использования INDIRECT для обращения к именованному диапазону

4. Ссылка на ячейку другого листа

Если в книге есть лист CityData, а на нём в C6 — население Киншасы, то в листе Report формула

=INDIRECT("CityData!C6")

вернёт значение из указанной ячейки. Аналогично можно формировать ссылки на разные листы, комбинируя имя листа и адрес.

Пример листа с информацией по городам

Пример ссылки на ячейки другого листа

Когда INDIRECT не подходит и частые ошибки

  • INDIRECT является волатильной функцией. Это значит, что Excel будет пересчитывать формулы с INDIRECT при любом изменении в книге, что может замедлить большие модели.
  • INDIRECT не может ссылаться на ячейки из закрытой внешней книги. В таких сценариях значение не будет получено; формула вернёт ошибку или ноль в зависимости от версии Excel.
  • Ошибки в тексте ссылки (опечатки, лишние пробелы, неверные имена листов) приведут к #REF!.
  • Если вы используете стиль R1C1, не забудьте указать второй аргумент FALSE.

Важно: перед массовым применением оцените влияние на производительность в больших таблицах.

Альтернативы и когда их выбирать

  • INDEX + MATCH
    • Не волатильны. Лучше для производительных сводных таблиц и больших наборов данных.
    • Пример замены: вместо INDIRECT(“B” & MATCH(…)) можно использовать INDEX(B:B, MATCH(…)).
  • OFFSET
    • Также создаёт динамические ссылки, но, как и INDIRECT, является волатильной.
  • CHOOSE
    • Подходит, когда выбор между небольшим набором диапазонов.
  • Внешние плагины или пользовательские функции
    • Существуют надстройки, которые позволяют ссылаться на закрытые книги или добавляют INDIRECT-расширения. Убедитесь в безопасности и совместимости перед установкой.

Руководство небольшое правило: если можно получить нужное значение через INDEX/MATCH — используйте их для стабильности и производительности.

Ментальные модели и эвристики

  • Представляйте INDIRECT как «инструмент чтения адресов». Вы даёте Excel строку — он идёт по адресу.
  • Волатильность = частые пересчёты. Чем больше INDIRECT в модели, тем выше риск замедления.
  • Надёжность = не использовать INDIRECT для критичных отчётов, которые тянут данные из закрытых файлов.

Практическая методология внедрения INDIRECT в рабочий файл

  1. Оцените задачу: нужна ли динамическая ссылка или достаточно INDEX/MATCH.
  2. Если выбираете INDIRECT, стандартизируйте имена диапазонов и формирование адресов в отдельных ячейках.
  3. Проверьте работу при закрытой книге, если используете внешние ссылки.
  4. Тест на производительность: включите расчёт ручной и замерьте время пересчёта при включённой INDIRECT-логике.
  5. Документируйте формулы — добавьте комментарии или поясняющие значения рядом с ячейками, где собираются текстовые ссылки.

Рекомендации по безопасности и совместимости

  • Избегайте сторонних надстроек без аудита кода и политики безопасности организации.
  • При совместной работе убедитесь, что имена листов и именованные диапазоны одинаковы во всех копиях книги.
  • Для совместимости с Excel Online и старшими версиями проверьте поведение INDIRECT в целевых средах; некоторые интеграции могут вести себя иначе.

Роль‑ориентированные чеклисты

Аналитик:

  • Убедиться, что INDIRECT действительно нужен.
  • Стандартизировать формирование адресов в отдельных столбцах.
  • Протестировать производительность на реальных данных.

Бухгалтер:

  • Использовать именованные диапазоны для месяцев/периодов.
  • Документировать формулы и назначение диапазонов.
  • Предпочесть INDEX/MATCH для больших отчётов.

Разработчик отчётов:

  • Минимизировать волатильные формулы.
  • Придерживаться соглашений об именах.
  • Реализовать автоматические проверки наличия листов и диапазонов.

Галерея крайних случаев и советы по их обработке

  • Динамическая подстановка листа: “‘“ & A1 & “‘!B2” — обязательно экранируйте имена с пробелами апострофами.
  • Ссылки на диапазоны в разных книгах: INDIRECT не сработает, если книга закрыта — используйте выгрузку данных или Power Query.
  • Формирование большого количества адресов (сценарии года по месяцу) — вместо множества INDIRECT используйте таблицы и INDEX с динамическим номером строки.

Однострочный глоссарий

  • Волатильная функция — формула, которая пересчитывается при любом изменении в книге.
  • Именованный диапазон — имя, привязанное к диапазону ячеек для удобства ссылок.

Критерии приёмки

  • Формулы с INDIRECT возвращают ожидаемые значения для всех тестовых товаров и периодов.
  • Производительность модели остаётся в допустимых пределах (время пересчёта не превышает установленных порогов).
  • Документация и соглашения об именах доступны внутри книги.

Краткое резюме

Функция INDIRECT даёт гибкость при создании динамических ссылок и полезна для шаблонов и отчётов с меняющимися адресами. Однако её волатильность и ограничение с закрытыми внешними книгами делают необходимым выбор альтернатив (INDEX/MATCH) в критичных и больших моделях.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро