Я пытаюсь создать простую функцию для скриптов Google, которая берет данные из 4 столбцов и перебирает их с помощью оператора if else. Он принимает первое значение, которое не равно 0, и вычитает их из 5-го столбца. Он делает это через каждый ряд одного из листов и вставляет результаты в 6-й столбец. Я продолжаю получать "TypeError: Cannot find function foreach in object."
Мое предположение, что я не правильно храню массив? Я не могу вставлять картинки, так как у меня еще нет отзывов. Вот код и ссылка на пример данных, если вам нужно больше информации, пожалуйста, дайте мне знать.
https://docs.google.com/spreadsheets/d/182C95mMxWlw4qqiEoVI3RjDJnXpUItk0TwS33amg1zE/edit?usp=sharing.
Для данных Line 6
необходимо игнорировать I6
, взять J6
и вычесть его из M6
, а затем вставить результаты в P6
.
function waterFallCalculator()
{
var deltaRange = SpreadsheetApp.getActive().getSheetByName("4/18"),
res = [];
deltaRange.getRange(30, 9, 200, 5).getValues().forEach(function(row)
{
res.push([row.reduce(function (a, b, c, d, e)
{
if(!isNaN(a))
{
return (a - e);
}
else if(isNaN(a))
{
return (b - e);
}
else if(isNaN(b))
{
return(c - e);
}
else if(isNaN(c))
{
return(d - e);
}
})]);
});
return deltaRange.getRange(30, 16, 200, 1).setValues(res);
}