Скрипты для новичков. Часть 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 Таблицы” в Телеграме