Я пытаюсь создать простой скрипт для работы с электронной таблицей Google. Электронная таблица принимает данные из формы Google, поэтому в электронной таблице есть ряд значений, подобных этому:
Моя цель состоит в том, чтобы написать скрипт, который бы удалял число из каждого ввода формы в указанном пользователем диапазоне, а затем добавлял все числа, чтобы получить единую оценку. Так, например, пользователь может ввести =sumColumns(H2:K2)
в ячейку, и он вернет сумму баллов (для примера снимка экрана, который я разместил, он вернет результат 3+3+0+3
, 9
).
Вот код, который я написал для этого:
function sumColumns(values) {
var sum = 0;
for(var i = 0; i <= values.length; i++){
var input = values[0][i];
var x = input.toString();
var y = x.charAt(0);
var num = parseInt(y);
sum += num;
}
return sum;
}
Проблема в том, что кажется, что он складывает только два значения вместе. Итак, когда я помещаю =sumColumns(H2:K2)
в ячейку электронной таблицы, она возвращает только 6
. Кроме того, в строке 3, если я изменю его с i <= values.length
на i < values.length
, он добавит только одно число, так что в результате я получу 3
. Я предполагаю, что я неправильно понимаю, как значения электронной таблицы Google передаются в функцию, но я совершенно не смог заставить ее работать. Буду очень признателен за любую помощь!