Как сделать относительную ссылку на ячейку в ссылке на функцию в методе setFormula ()? - PullRequest
0 голосов
/ 24 декабря 2018

Код ниже является частью скрипта.Он просто умножает значение в C-диапазоне на значение в D-диапазоне на цену, которая рассчитывается с помощью функции CalculatePrice.Функция принимает параметр (метку, найденную в B-диапазоне), по которой проходит по объекту, чтобы найти подходящую цену.Все это работает, но ячейка B2 должна быть B3 в следующей строке, B4 в строке после этого и т. Д. Как мне заставить это работать в этой формуле?Я пробовал B2: B, но это не работает.Помощь очень ценится.

sheet.getRange(2,5).setFormula('=ArrayFormula(if(not(isblank($C$2:$C)),$C$2:$C*$D$2:$D*calculatePrice(b2)," "))');

1 Ответ

0 голосов
/ 24 декабря 2018

Вместо этого попробуйте следующий код:

sheet.getRange(2,5).setFormula('=ArrayFormula(if(not(isblank(C2:C)),C2:C*D2:D*calculatePriceArray(B2:B)," "))');

Как вы, возможно, заметили, ваша функция "CalculatePrice" была упакована в "CalculatePriceArray":

function calculatePriceArray(input) {
  return Array.isArray(input) ? 
    input.map( function(e) {
      return e.map( function(f){
        return calculatePrice(f);
      })
    }) : 
  calculatePrice(input);
}

, потому что мы хотим вернутьмассив.На самом деле мы использовали известное решение здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...