Содержание:
В Google Таблицах существует множество функций, большинство из которых довольно просты для понимания. Однако функция КОСВЕННО (INDIRECT) — одна из тех функций Google Таблиц, которые поначалу может быть не так просто «понять».
Чтобы понять весь потенциал этой функции, вам также необходимо взглянуть на некоторые из реальных примеров (также рассмотренных в этом руководстве).
Что делает функция КОСВЕННО?
Проще говоря, функция INDIRECT (рус. Косвенно) возвращает ссылку на заданный диапазон.
Поясню на примере:
Предположим, у вас есть значение 5 в ячейке A1 и вы установите его для использования формулы = INDIRECT(«A1»), тогда в результате вы получите 5.

Ты прав!
В этом случае использование формулы КОСВЕННО не имеет смысла.
Но в некоторых случаях ссылка на ячейку или диапазон недоступна. В таком сценарии будет очень полезна косвенная функция.
Я уверен, что полезность этой функции станет яснее, когда я покажу вам несколько реальных примеров (далее в этом руководстве).
Синтаксис функции INDIRECT
Синтаксис косвенной функции следующий:
INDIRECT (ref_text; [ref_style])
Функция принимает два параметра:
- ref_text : это текстовая строка, содержащая ссылку на ячейку или диапазон ячеек.
- ref_style : этот параметр необязательный. Он задается значением ИСТИНА / ЛОЖЬ. Значение TRUE указывает, что ref_text задан в нотации «A1», а значение FALSE указывает, что он задан в нотации «R1C1». Если это значение не указано, предполагается, что значение по умолчанию — ИСТИНА.
Обратите внимание, что параметр ref_text также может содержать ссылку на ячейку, которая, в свою очередь, содержит строку со ссылкой на другую ячейку.
Если все это звучит сбивающе с толку, это станет яснее с помощью нескольких примеров.
Понимание КОСВЕННОЙ функции
В следующем наборе данных мы видим 4 различных способа ссылки на значение в ячейке A2, из которых один из них неверен.

- В первой строке мы использовали обычный метод обращения к ссылке на ячейку (с использованием записи A1): «= A2». Это вернуло значение в ячейке A2, равное 25 .
- Во второй строке мы использовали функцию INDIRECT для ссылки на ячейку A2. Здесь мы указали текстовую строку «A2» в качестве параметра ref_text: = INDIRECT («A2»). Обратите внимание, что мы заключили ссылку на ячейку в двойные кавычки (поскольку это текстовая строка). Это вернуло значение в ячейке A2, равное 25 .
- В третьей строке мы использовали функцию INDIRECT для ссылки на ячейку A2. Здесь мы снова указали A2 как ref_text, но не заключили его в двойные кавычки: = INDIRECT (A2). Это означает, что мы не передаем строку «A2». Таким образом, это вернуло ошибку #REF .
- В четвертой строке мы использовали функцию INDIRECT для ссылки на ячейку A5. Здесь мы указали A5 в качестве параметров ref_text без двойных кавычек: = INDIRECT (A5). Это означает, что мы не передаем строку «A5», а передаем ссылку на ячейку A5. Ячейка A5 в наборе данных содержит строку «A2», которую мы используем в качестве ссылки для нашей функции INDIRECT. Таким образом, это вернуло значение в ячейке A2 (не A5), равное 25 .
НЕПРЯМАЯ функция. Примеры
Мы надеемся, что теперь вы понимаете, как работает функция КОСВЕННО. Однако ваше понимание этого укрепится только после того, как вы увидите несколько примеров того, когда использовать эту функцию.
Итак, вот несколько вариантов использования, в которых функция INDIRECT может оказаться весьма полезной.
Использование функции INDIRECT для блокировки ссылки на ячейку
Функция INDIRECT предоставляет отличный способ «заблокировать» определенные ячейки или диапазон ячеек в формуле. Чтобы продемонстрировать это, давайте посмотрим на следующий пример:

Создадим ссылку на эту ячейку как с косвенной функцией, так и без нее. На изображении ниже мы создали ссылку на ячейку A2, используя обычную ссылку на ячейку «= A2» в ячейке B9.


Теперь предположим, что новый победитель по имени «Сэмюэл Джонсон» найден, и в ячейке A2 создается новая строка для его имени. Обратите внимание, что в результате имя Джона Смита переместится в следующий ряд (A3).

Используя традиционный метод привязки ячеек, мы все равно получаем победителя в лице Джона Смита. Это связано с тем, что ссылка на ячейку A2 теперь изменилась на A3 при добавлении новой строки.


Использование функции INDIRECT для ссылки на ячейку на другом листе
Другая ситуация, когда функция INDIRECT весьма удобна, — это когда вам нужно получить данные из нескольких других листов.
Возьмем другой пример.
Предположим, у вас есть три листа с названиями «Красный», «Оранжевый» и «Синий» (как показано ниже):




= SheetName! B2
Представьте, что вы делаете это, когда у вас есть 30 листов!
Более простой способ был бы следующим:
- В ячейке B2 нового листа введите формулу: = INDIRECT(A2 & «! B2»)
- Нажмите клавишу возврата
- Дважды щелкните маркер заполнения ячейки B2.
- Формула копируется во все ячейки столбца B

Это значительно упрощает работу по сравнению с обычным методом.
Объяснение формулы
Когда мы щелкали маркер заполнения, ссылка на ячейку перед знаком ‘&’ в каждой ячейке обновлялась до следующего имени листа.

- в ячейке B2 функция была = INDIRECT (A2 &! «! B2»), что относится к ячейке Red! B2
- в ячейке B3 функция была = INDIRECT (A3 &! «! B2»), что относится к ячейке Оранжевый! B2
- в ячейке B4 функция была = INDIRECT (A4 &! «! B2»), что относится к ячейке Blue! B2
Таким образом, всего двойным щелчком мы обновили все ячейки строки B необходимыми данными.
Примечание . Если вам нужно извлечь данные из разных ячеек на разных листах, вы можете создать отдельный столбец, содержащий ссылки на ячейки для каждого листа, а затем использовать формулу КОСВЕННО, как показано ниже:

Использование функции INDIRECT для динамического обращения к именованному диапазону
Это отличное применение функции КОСВЕННО (INDIRECT).
Допустим, у вас есть три столбца для трех цветов, как показано ниже.


Учтите, что заранее узнать, какой цвет будет выбран, невозможно. Итак, чтобы каждый раз получать правильную сумму, вам необходимо сделать следующее:
- Создайте именованный диапазон для каждого цвета. Начнем с красного.
- Чтобы создать именованный диапазон для значений красного цвета, выберите ячейки в разделе «Красный».
- Выберите Данные-> Именованный диапазон.
- В правой части окна откроется боковая панель «Именованные диапазоны».
- Введите «Красный» в поле ввода над диапазоном ячеек.
- Нажмите Готово
- Это создаст именованный диапазон для группы ячеек под «красным».
- Таким же образом создайте именованные диапазоны для каждого цвета.
- Выберите ячейку C11
- Введите формулу: = SUM (INDIRECT (C6))
- Нажмите клавишу возврата.
- Теперь попробуйте выбрать цвет из раскрывающегося списка. Вы увидите, что сумма обновляется соответствующим образом в ячейке C11.
Объяснение формулы
Разберем использованную нами формулу:
= SUM (INDIRECT(C6))
- Здесь функция INDIRECT принимает в качестве параметра строку, которая находится в ячейке C6. Таким образом, если выбран текст «Красный», функция КОСВЕННО вернет ссылку на именованuный диапазон «Красный».
- Функция СУММ принимает числовые значения, которые находятся в выбранном именованном диапазоне, и возвращает сумму.
Таким образом, с помощью небольшой, совершенно простой формулы мы могли динамически получать необходимую нам сумму. В противном случае нам пришлось бы прибегнуть к сложным формулам, включающим ряд вложенных функций ЕСЛИ.
Существует ряд других способов применения функции КОСВЕННО. В этом руководстве мы объяснили синтаксис функции INDIRECT, а также несколько примеров формул.
Чтобы помочь вам лучше понять, мы предоставили несколько основных сценариев использования, в которых можно применить эту функцию.
Мы рекомендуем вам найти более творческие способы применения функции КОСВЕННО в Google Таблицах и облегчить вашу работу.
Надеюсь, вы нашли этот урок полезным.