May 24, 2021

Скрипты для новичков. Часть 1 | @google_sheets

Привет! Открываем серию, в которой мы планируем вам показывать простые приёмы работы с Таблицей (и не только) скриптами, также будем слега касаться JS (языка, на основе которого написан Google Apps Script, язык, на котором мы пишем скрипты в Google Docs)

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

Обращаемся к Таблице, Листу, забираем данные

Базовая и простая функция - берём все значения выбранного листа.

function getData() {

//определяем активную таблицу

const ss = SpreadsheetApp.getActive();

//определяем в ней Лист1

const sheet = ss.getSheetByName('Лист1');

//определяем на Лист1 диапазон с данными и забираем его значения

const data = sheet.getDataRange().getValues();

//возвращаем эти значения

Logger.log(data);

return data;

}

Мы используем метод getDataRange(), он сформирует диапазон от ячейки А1 по последнюю строку / столбец с данными, пустые строки и столбцы дальше, если они будут - в диапазон не попадают.

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

Помимо этого функция возвращает массив заполненных ячеек (return data) и его можно использовать в другой функции, что нам пригодится дальше.

Что нам вообще возвращается

Функция возвращает несколько массивов (array) в массиве.

Каждый внутренний массив - это строка с данными из "Лист1" нашей Таблицы,

например [Дата, Название, Коммент, , Словарь, ] - первая строка.

Строк с данными несколько, они отделены от друг-друга запятыми и объединены внешним массивом.

Если бы у вас было только две строки с данными по две ячейки в каждой, то эта конструкция выглядела бы так:

[

[1 строка 1 столбец , 1 строка 2 столбец] ,

[2 строка 1 столбец , 2 строка 2 столбец]

]

Три строки, в первых двух заполнены столбцы A и B, в третьей - только C

[

[1 строка 1 столбец , 1 строка 2 столбец] ,

[2 строка 1 столбец , 2 строка 2 столбец],

[ , , 3 строка 3 столбец]

]

А ЕЩЕ наша функция сможет работать как пользовательская функция, её можно вызвать просто на листе, не запуская скрипт (смотрите скриншот)

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

Скрипт в pastebin (будет пополняться)

Таблица со скриптом (будет пополнятся)

Документация:

getSheetByName, getDataRange, getValues

Мы:

Канал “Google Таблицы” в Телеграме

Оглавление канала — все статьи

Наш чат в Телеграме

Донаты