Google Script: циклы, если в другом порядке массив - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь создать простую функцию для скриптов 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...