Я «новичок». Но есть ли мой опыт, что вы можете получить доступ только к «ячейке» через объект «range». Вы должны определить диапазон как одну ячейку. Например, «A1: A1», вы получите доступ к ячейке в «A1».
RANGE - это объект, связанный с «ЛИСТОМ». ЛИСТ - это объект, связанный с «SPREADSHEET».
Вот некоторые примеры кода для доступа ячейку A1 в текущем активном листе:
var cell_A1 = SpreadsheetApp.getActiveSheet().getRange("A1:A1");
Отсюда вы можете передать объект, как и любой другой параметр.
myFunction(cell_A1);
Функция приема должна «знать», что она имеет дело с «диапазоном». Он может получить доступ только к своим значениям, вызвав «методы», связанные с объектом «диапазон» .
Будьте осторожны! «Диапазон» может состоять из более чем одной ячейки. Ваша вызываемая функция должна проверить, что она работает с одной ячейкой. Если вы передадите диапазон более чем одной ячейки, ваша функция может не действовать так, как вы ожидаете.
Два метода объекта диапазона: «getNumRows()» и «getNumColumns()» возвращает числа строк и столбцов в объекте диапазона.
В общем случае, если вы используете методы, которые ограничены заменой или доступом к одной ячейке, и работают с большим диапазоном, функция будет только , выполняемой в элементе верхней левой части ячейки. Но будь осторожен. В то время как вы, , предположили, что метод изменит только одну ячейку, на самом деле влияет на все ячейки в диапазоне. Прочитайте документацию внимательно.
Существует еще один способ получения диапазона одной ячейки. Его инструкция выглядит следующим образом:
var cell_B2 = SpreadsheetApp.getActiveSheet().getRange(2, 2, 1, 1).
Первые два параметра говорят функцию «getRange» по месту нахождения ячейки (в строке, формат столбца). Вторые два параметра определяют число «строк» и «столбцов», связанных с диапазоном. Установив их как «1», вы получаете доступ к одной ячейке.
Надеюсь, это поможет.
Эти пользовательские функции работают медленно. Быть осторожен. – fiatjaf
Похоже, что функции, доступные в электронной таблице, не все доступны для скрипта. Например, попытка использования функции JOIN в скрипте приводит к ошибке «JOIN not defined», хотя использование JOIN в самой электронной таблице отлично работает. – Triynko