如何在脚本中的If语句中插入LastRow函数和文本

时间:2015-04-29 00:42:52

标签: google-apps-script google-sheets

我有一个非常冗长的公式,我试图通过脚本在指定列的最后一行中的特定单元格中设置。这是公式:

sheet.getRange(lastrow+1,8).setFormula("=IF(AND($S$2=1,F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*3),IF(AND($S$2=1,(F25-6)/8=TRUNC((F25-6)/8)),((((F25-6)/8)+1+(G25/2))*3),IF(AND($S$2=1,(F25-12)/8=TRUNC((F25-12)/8)),((((F25-12)/8)+2+(G25/2))*3),if(AND($S$2=1,(F25-18)/8=TRUNC((F25-18)/8)),((((F25-18)/8)+3+(G25/2))*3),IF(AND($S$2=0,F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*5),if(AND($S$2=0,(F25-6)/8=TRUNC((F25-6)/8)),((((F25-6)/8)+3+(G25/2))*5),if(AND($S$2=0,(F25-12)/8=TRUNC((F25-12)/8)),((((F25-12)/8)+3+(G25/2))*5),if(AND($S$2=0,(F25-18)/8=TRUNC((F25-18)/8)),((((F25-18)/8)+3+(G25/2))*5),0))))))))"); 

我希望能够引用F25和G25来引用最后一行中的F和G列,例如这个公式:

sheet.getRange("H" + (lastrow+1)).setFormula("=E" + (lastrow+1) + "-(F" + (lastrow+1) + "*1.5)");

在一个理想的世界中,我也可以将$ S $ 2 = 0替换为$ S $ 2 =“Full Mastic”并检查文本而不是值,但是在插入所需的附加括号时遇到问题以便在将公式插入电子表格时使文本起作用。谢谢你的帮助。我知道这个公式有点荒谬......

1 个答案:

答案 0 :(得分:0)

每当你看到25将其替换为:(包括引号)

" + (lastrow+1) + "

对于您的文本项,通过在它们前面加上反斜杠来转义引号,这将使引号作为文本插入而不是被解释为文本分隔符。

$S$2=\"Full Mastic\"