Как создавать и использовать именованные функции

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

Named functions tutorial

Нажмите "Создать копию", чтобы открыть пример таблицы, в которой вы сможете тренироваться во время просмотра видео.

Создать копию

Как открыть именованные функции

  1. В новой или существующей таблице нажмите Данные затем Именованные функции.

Как перейти к именованным функциям из ячеек с формулами:

  1. Нажмите на ячейку с формулой правой кнопкой мыши.
  2. Выберите Показать другие действия с ячейкой затем Определить именованную функцию.

Как создать именованную функцию

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

Например, функция ЕСЛИ может содержать максимум три аргумента:

ЕСЛИ(источник; значение_при_соблюдении_условия; значение_при_несоблюдении_условия)

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

Раньше персонализированные функции можно было создавать только с помощью Apps Script, работая с кодом на JavaScript. Теперь благодаря именованным функциям вы можете создавать собственные функции в удобном интерфейсе, не прибегая к написанию кода.

Именованная функция состоит из четырех основных компонентов:

  • Название функции:
    • Название, которое используется для вставки функции в ячейку. Пишется заглавными буквами.
    • Требования:
      • Название не должно совпадать с наименованиями встроенных функций Таблиц (например, СУММ).
      • В качестве названия нельзя использовать слова TRUE, FALSE, ИСТИНА и ЛОЖЬ.
      • Название не должно совпадать с обозначением диапазона (синтаксис A1 или R1C1).
        • Например, такие варианты, как "A1" или "AA11", могут привести к появлению ошибки.
      • Название не должно начинаться с цифры.
      • Название должно содержать не более 255 символов.
      • Название не должно содержать пробелы.
      • Название не должно содержать других специальных символов, кроме символа подчеркивания.
  • Описание функции:
    • Описание, которое показывается в разделе "О функции" в окне подсказок.
  • Плейсхолдеры аргументов (необязательно):
    • Плейсхолдеры – это описания типов входных данных, ожидаемых функцией. Например, названия аргументов ЯЧЕЙКА или ДИАПАЗОН можно задавать, когда в качестве входных данных выступает одна ячейка или диапазон ячеек соответственно.
    • Требования:
      • Название не должно совпадать с названием другого плейсхолдера аргумента в именованной функции.
      • Название не должно совпадать с обозначением диапазона (синтаксис A1 или R1C1).
        • Например, такие варианты, как "A1" или "AA11", могут привести к появлению ошибки.
      • Название не должно содержать пробелы.
      • Название не должно содержать других специальных символов, кроме символа подчеркивания.
  • Определение формулы:
    • Написанная формула, которую вы вставляете в ячейку. Когда вы добавляете определенные аргументы, то после вставки функции в ячейку эта функция ожидает входные данные для каждого из них.
    • Требования:
      • Формула должна поддаваться синтаксическому анализу.
      • В формуле не должно быть пропущенных скобок.
      • В формуле не должно быть неправильно расставленных запятых.

Дополнительные сведения

После того как вы укажете основные компоненты, на следующей странице можно будет добавить дополнительные сведения. Для каждого плейсхолдера аргумента, который вы ввели, доступны следующие поля:

  • Описание аргумента:
    • Краткое описание аргумента функции, например такое: "Отдельное значение, которое нужно найти".
  • Пример аргумента:
    • Пример входного значения для этого аргумента. Например, аргумент, который представляет собой диапазон ячеек, будет выглядеть так: "B3:B14".

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

Sample of Named function arguments.

Импорт именованных функций

Именованные функции, созданные вами или другими пользователями, можно использовать в других таблицах. Для этого их нужно импортировать:

  1. Откройте Google Таблицы на компьютере.
  2. Откройте таблицу, в которую нужно импортировать именованные функции.
  3. В верхней части экрана нажмите Данные затем Именованные функции затем Импортировать функцию.
  4. Выберите таблицу, в которой содержатся нужные функции.
  5. Выберите именованные функции, которые вы хотите импортировать.
    • Если вам нужны все именованные функции из файла, то нажмите Импортировать все.
  6. Нажмите Импортировать.

Примечания

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

Примеры

Именованная функция с двумя плейсхолдерами аргументов

  • Название функции: СОДЕРЖИТ
  • Описание. Проверяет, содержит ли диапазон заданное значение. Если да, то она возвращает значение ИСТИНА, если нет – то ЛОЖЬ.
  • Плейсхолдеры аргументов: поисковый_запрос, диапазон_поиска
  • Определение: =НЕ(ЕОШИБКА(ПОИСКПОЗ(поисковый_запрос,диапазон_поиска,0)))
  • Дополнительная информация:
    • Описание аргумента: поисковый_запрос
      • Искомое значение.
    • Пример аргумента: поисковый_запрос
      • B3
    • Описание аргумента: диапазон_поиска
      • Диапазон, в котором выполняется поиск значения.
    • Пример аргумента: диапазон_поиска
      • B3:B14

Именованная функция без плейсхолдеров аргументов

  • Название функции: СЛОГАН_ИМЕНОВАННОЙ_ФУНКЦИИ
  • Описание. Показывает предложение, которое описывает именованные функции.
  • Определение: ="Благодаря именованным функциям мои формулы легко читать и использовать."

Именованная функция с рекурсией

  • Название функции: ОБРАТНЫЙ_ПОРЯДОК
  • Описание. Изменяет порядок слов в строке на обратный.
  • Плейсхолдеры: стр
  • Определение:=ЕСЛИ(ЕОШИБКА(НАЙТИ(" ", стр)), стр, ОБРАТНЫЙ_ПОРЯДОК(ПРАВСИМВ(стр, ДЛСТР(стр)-НАЙТИ(" ", стр)))&" "&ЛЕВСИМВ(стр, НАЙТИ(" ",стр)-1)).
  • Дополнительная информация:
    • Описание аргумента: стр
      • Строка, порядок слов в которой нужно изменить на обратный.
    • Пример аргумента: стр
      • "обратный на изменить нужно которой в слов порядок Строка,"

Именованная функция с LAMBDA

  • Название функции: ПОДСЧЕТ_ФОРМУЛ
  • Описание. Вычисляет количество формул в указанном диапазоне.
  • Плейсхолдеры: диапазон
  • Определение: =COUNTIF(MAP(диапазон,LAMBDA(ячейка, ISFORMULA(ячейка))),"ИСТИНА")
  • Дополнительная информация:
    • Описание аргумента: диапазон
      • Диапазон, в котором выполняется поиск формул.
    • Пример аргумента: диапазон_поиска
      • A2:D7

Часто задаваемые вопросы

Можно ли в именованных функциях использовать относительные диапазоны?

Нет, в определениях формул используются только абсолютные диапазоны. Другие форматы также преобразуются в абсолютные. Например, диапазон "A1:B3" будет сохранен в формате "1!$A$1:$B$3". Относительные диапазоны можно передавать именованным функциям в качестве аргументов.

Можно ли в качестве названий плейсхолдеров аргументов использовать названия встроенных функций, таких как СУММ?

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

Можно ли импортировать в Таблицы определенные названия без параметров?

Да. Определенные названия без параметров можно импортировать в Таблицы, но их необходимо вызывать без скобок.

Можно ли импортировать в Таблицы определенную именованную функцию без параметров?

Да. При этом определенные названия будут обновлены в соответствии с синтаксисом именованных функций. Ко всем ссылкам на ячейки необходимо добавить скобки.

Можно ли создать именованную функцию с тем же названием, что и у персонализированной функции Apps Script?

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

Что делать, если появилось сообщение об ошибке "При попытке выполнить расчет по формуле было достигнуто ограничение на вычисления"?

Это могло произойти по двум причинам:

  • Расчет по формуле занял слишком много времени.
  • Расчет по формуле потребовал слишком много памяти.

Чтобы устранить эту проблему, используйте более простую формулу.

Если название именованной функции совпадает с названием именованного диапазона, то у какого элемента будет приоритет?

Именованный диапазон имеет приоритет над именованной функцией.

Информация по теме

true
Посетите Центр обучения

Используете продукты Google (например, Google Документы) на работе или в учебном заведении? Мы подготовили для вас полезные советы, руководства и шаблоны. Узнайте, как работать с файлами Office, не устанавливая MS Office, как создавать динамические планы проектов и командные календари, использовать автосортировку писем и решать другие задачи.

Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
14164411413189468247
true
Поиск по Справочному центру
true
true
true
true
true
35
false
false