在谷歌片,我得到這個代碼編輯單元中的「公式語法錯誤」:谷歌腳本.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