如何插入涉及脚本文本的IF语句?

时间:2015-04-28 17:06:07

标签: google-sheets

如何插入IF语句,要求公式通过脚本读取备用单元格中的文本?这是我插入的公式的一小部分,我希望它能够插入=IF(AND($S$2="SOME WORD",F25/8...等等,但是如果我按照要求在文本周围加上引号以使公式正常工作时插入它会导致错误。反正有吗?

//在需要公式的列中设置公式

sheet.getRange("H25").setFormula("=IF(AND($S$2=1,F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*$N$4),IF(AND($S$2=1,(F25-6)/8=TRUNC((F25-6)/8)),((((F2

1 个答案:

答案 0 :(得分:0)

是否可以将“SOME WORD”作为内容添加到另一个单元格,比如$ A $ 1,并在您的公式中引用它?那么测试$ S $ 2 = $ A $ 1?这对你有用吗?

修改

因此,将公式的非常长的字符串放入更易于管理的块中。

s2isOneStr = "$s$2 = " & """" & "Sewer" & """"
s2isZeroStr = "$s$2 = " & """" & "Culvert" & """"

ifstr1 = "IF(AND(" & s2isOneStr & ",F25/8=TRUNC(F25/8)),(((F25/8)+(G25/2))*$N$4),"

ifStr2 = "IF(AND(‌​" & s2isOneStr & ",(F25-6)/8=TRUNC((F25-6)/8)),((((F25-6)/8)+1+(G25/2))*$N$4),"

ifStr3 = "IF(AND(‌​" & s2isOneStr & ",(‌​F25-12)/8=TRUNC((F25-12)/8)),((((F25-12)/8)+2+(G25/2))*$N$4),"

//Keep going with all the ifs!

然后在公式中组合所有这些字符串,如果您需要更改公式,可能更容易调试...

masterStr =  "=" & ifStr1 & ifStr2 & etc etc

.setFormula(masterStr);

这样,最有可能改变的代码就在顶部......