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

How to Insert LastRow function and Text in If Statements in Script

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

sheet.getRange(lastrow+1,8).setFormula("=IF(AND($S=1,F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*3),IF(AND($S=1,(F25-6)/8=TRUNC((F25-6)/8)),((((F25-6)/8)+1+(G25/2))*3),IF(AND($S=1,(F25-12)/8=TRUNC((F25-12)/8)),((((F25-12)/8)+2+(G25/2))*3),if(AND($S=1,(F25-18)/8=TRUNC((F25-18)/8)),((((F25-18)/8)+3+(G25/2))*3),IF(AND($S=0,F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*5),if(AND($S=0,(F25-6)/8=TRUNC((F25-6)/8)),((((F25-6)/8)+3+(G25/2))*5),if(AND($S=0,(F25-12)/8=TRUNC((F25-12)/8)),((((F25-12)/8)+3+(G25/2))*5),if(AND($S=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" 并检查文本而不是值,但我 运行 进入在将公式插入到电子表格中时插入文本起作用所需的附加括号时出现问题。谢谢你的帮助。我知道这个公式有点荒谬...

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

" + (lastrow+1) + "

对于您的文本项目,通过在引号前面加上反斜杠来转义引号,这将导致引号作为文本插入,而不是被解释为文本定界符。

$S=\"Full Mastic\"