Оглавление:

Добавление пользовательской функции в Google Таблицы: 5 шагов
Добавление пользовательской функции в Google Таблицы: 5 шагов

Видео: Добавление пользовательской функции в Google Таблицы: 5 шагов

Видео: Добавление пользовательской функции в Google Таблицы: 5 шагов
Видео: Пишем свою пользовательскую функцию для Гугл Таблиц с помощью Google Apps Script 2024, Декабрь
Anonim
Image
Image

Я уверен, что в какой-то момент вашей жизни вам приходилось использовать программное обеспечение для работы с электронными таблицами, такое как Microsoft Excel или Google Sheets.

Они относительно просты и удобны в использовании, но при этом очень мощные и легко расширяемые.

Сегодня мы рассмотрим Google Таблицы и их способность добавлять код и настраиваемые функции, чтобы мы могли их расширить.

Шаг 1. Что такое функции?

Что такое функции?
Что такое функции?

Функция - это фрагмент кода, который манипулирует данными из электронной таблицы, чтобы автоматически вычислить новое значение для нас. Очень распространенный пример такой функции - СУММ, которая вычисляет сумму столбца или группы ячеек.

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

Шаг 2: Как написать пользовательскую функцию?

Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?
Как написать собственную функцию?

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

Чтобы начать писать, мы можем перейти в Инструменты> Редактор скриптов в верхнем меню, и это вызовет онлайн-редактор кода.

В нем при первом открытии у нас будет один файл с именем Code.gs вместе с пустой стартовой функцией с именем myFunction.

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

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

При выполнении этой функции Google Sheets вскоре отобразит сообщение о загрузке в ячейке, но затем отобразит возвращаемое значение из функции.

Шаг 3. Ограничения функций и автозаполнение

Ограничения функций и автозаполнение
Ограничения функций и автозаполнение

Эти функции могут делать все, что мы хотим, но есть некоторые ограничения, которые нам нужно соблюдать, например:

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

Каждая функция может возвращать одно значение, как в нашем примере, но также может возвращать массив значений. Затем этот массив будет расширен на соседние ячейки, пока они пусты. Если это не так, будет показана ошибка.

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

Для этого нам нужно добавить тег JsDoc @customfunction перед функцией в качестве комментария, где в этом комментарии мы можем написать краткое объяснение того, что делает наша функция.

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

Шаг 4: вызов внешних служб

Вызов внешних служб
Вызов внешних служб
Вызов внешних служб
Вызов внешних служб
Вызов внешних служб
Вызов внешних служб

Огромная сила этих функций заключается в возможности вызывать и взаимодействовать с другими инструментами и службами Google, такими как Переводчик, Карты, подключаться к внешней базе данных, работать с XML и другими. Безусловно, самая мощная функция для меня - это возможность делать внешний HTTP-запрос к любому API или веб-странице и получать от них данные с помощью службы UrlFetch.

Чтобы продемонстрировать это, я вставлю функцию, которая будет конвертировать доллары США в швейцарские франки, но не будет принимать курс валюты, а вместо этого будет извлекать его из внешнего API.

Функция также использует встроенную службу кеширования, где она не будет вызывать API для всех вычислений, но вызовет его один раз для первого вычисления, а затем сохранит это значение в кеше.

Затем все остальные вычисления будут производиться с использованием кэшированных значений, поэтому их производительность будет значительно улучшена, и мы не будем так часто попадать на сервер, поскольку ставки меняются не так быстро.

Поскольку API возвращает JSON, как только мы получим ответ от сервера, нам нужно проанализировать JSON в объект, и затем мы сможем получить скорость, умножить ее на входное значение и вернуть новое вычисленное значение в ячейку.

Шаг 5. Дальнейшие действия

Если вам это интересно и вы хотите узнать больше, я оставлю ниже ссылки на дополнительные ресурсы.

developers.google.com/apps-script/guides/s…

developers.google.com/apps-script

Если вам понравился Instructable, обязательно подпишитесь на мой канал YouTube, если вы еще этого не сделали, и ознакомьтесь с некоторыми из моих других Instructables.

Приветствую и спасибо за чтение.

Рекомендуемые: