2013-03-19 39 views
0

当包含IF函数时,setFormula的正确语法是什么?GAS:setFormula和IF:正确的语法?

我想在GAS适应这个公式:

=IF(AE2="","",((R2/Q2)-1)) 

我曾经尝试这样做(感谢GAS : setFormula parenthesis or quotes missing?):

for (var j = 2; j<=sheetold.getLastRow(); j++){ 

sheetold.getRange("AD"+j).setFormula('=IF'(AE'+j="","",((R'+j+'\/Q'+j+')-1))'); 

唉我有一个“丢失)后的参数列表”错误。

我迷路了!

预先感谢;)

+0

否确定你的使用,但在AD2中放置下面的公式应该达到同样的效果。 = ARRAYFORMULA(IF(AE2 =“”,“”,((R2/Q2)-1))) – ScampMichael 2013-03-19 12:52:17

+0

谢谢迈克尔。但哈罗德下面找到了解决方案(见下文)。 ;) – miodf 2013-03-19 13:37:10

回答

0

尝试:

for (var j = 2; j<=sheetold.getLastRow(); j++){ 
    sheetold.getRange("AD"+j).setFormula('=IF(AE'+j+'="";"";((R'+j+'/Q'+j+')-1))'); 
} 

的区别是:

IF'(AE - > IF(AE

, - >;

+0

哈罗德,非常感谢。这像一个魅力。 ;) 再次感谢你。 ;) – miodf 2013-03-19 13:35:32