Справочник по динамическим именам листов в Google Sheets: подробное руководство

В Google Таблицах динамические ссылки на имена листов позволяют создавать гибкие формулы и сценарии, которые автоматически адаптируются к изменениям названий листов. Эта мощная функция позволяет создавать надежные и масштабируемые электронные таблицы. В этой статье мы рассмотрим несколько методов создания динамических ссылок на имена листов, дополненные разговорными пояснениями и примерами кода.

Метод 1: использование косвенной функции
Косвенная функция в Google Таблицах позволяет косвенно ссылаться на ячейку, диапазон или лист на основе текстовой строки. Чтобы динамически ссылаться на имя листа, выполните следующие действия:

  1. В ячейке введите имя листа, на который вы хотите ссылаться (например, «Лист1»).
  2. В другой ячейке создайте формулу, используя косвенную функцию. Например, чтобы сослаться на ячейку A1 на листе с динамическим именем, используйте формулу: =INDIRECT("'" & A1 & "'!A1").

Метод 2: использование пользовательских функций скрипта
Google Apps Script предоставляет мощную среду сценариев, расширяющую функциональность Google Sheets. Вы можете создавать собственные функции сценария для динамической ссылки на имена листов. Вот пример:

  1. Откройте редактор сценариев из меню «Расширения» в Google Таблицах.
  2. Напишите пользовательскую функцию с помощью скрипта Google Apps, например:
    function getCellValue(sheetName, cellReference) {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
    return sheet.getRange(cellReference).getValue();
    }
  3. Сохраните сценарий и закройте редактор сценариев.
  4. В ячейке используйте пользовательскую функцию для ссылки на значение ячейки из динамического листа: =getCellValue("Sheet1", "A1").

Метод 3: использование функций ДВССЫЛ и ЯЧЕЙКА
Другой подход предполагает объединение функций ДВССЫЛ и ЯЧЕЙКА. Этот метод позволяет динамически ссылаться на имена листов, извлекая имя листа из ссылки на ячейку. Вот пример:

  1. В ячейке введите ссылку на ячейку, содержащую имя листа, на который вы хотите ссылаться (например, «Лист1!A1»).
  2. Используйте следующую формулу для ссылки на значение ячейки из листа с динамическим именем:
    =INDIRECT("'"&LEFT(A1,SEARCH("!",A1)-1)&"'!"&RIGHT(A1,LEN(A1)-SEARCH("!",A1))).

Динамические ссылки на названия листов в Google Таблицах позволяют создавать адаптируемые электронные таблицы, которые автоматически адаптируются к изменениям. В этой статье мы рассмотрели три метода: использование функции Indirect, пользовательских функций скрипта и объединение функций Indirect и Cell. Используя эти методы, вы сможете создавать мощные и гибкие таблицы, которые повысят вашу продуктивность и эффективность.