在谷歌片,我得到这个代码编辑单元中的“公式语法错误”:谷歌脚本.setFormula()只用明确的字符串工作
var A1one = 'C4';
var A1two = 'B4';
var A1three = 'B4';
var wholeFormula = '=if(today()<D$1,,' + A1one + '+if(isNumber(' + A1two + '),' + A1three + ',0)';
var wholeFormulaA1 = '=if(today()<D$1,,C4+if(isNumber(B4),B4,0))';
trackCell1.setFormula(wholeFormula);
但是,如果我改变代码如下它的工作原理细(唯一的变化是在最后一行):
var A1one = 'C4';
var A1two = 'B4';
var A1three = 'B4';
var wholeFormula = '=if(today()<D$1,,' + A1one + '+if(isNumber(' + A1two + '),' + A1three + ',0)';
var wholeFormulaA1 = '=if(today()<D$1,,C4+if(isNumber(B4),B4,0))';
trackCell1.setFormula(wholeFormulaA1);
wholeFormula
和wholeFormulaA1
应该是相同的。为什么Google表格会以不同的方式对待它们?
我认为这是某种重新计算错误。如果我运行上面的第一个代码示例,并且单元格显示#ERROR!
,我可以通过双击该单元格并在键盘上按ENTER来修复它。这迫使工作表重新计算(我猜?),公式的正确结果显示在单元格中。
但是,如何让Google表格在使用第一个代码示例时自动更新单元格?
那是男人,谢谢。很高兴这很简单。 :-) – user2179367