Google script .setFormula error with string value [duplicate]

故事扮演 提交于 2021-01-29 07:06:52

问题


I'm new to this so please forgive the simple question. I'm trying to insert the following formula into cell E18 of google sheet L2_R1 Final Product:

=if(D17="Poor",0,if(D17="Acceptable",1,if(D17="Excellent",2,)))

I've gone about it the following way:

var sheet4= SpreadsheetApp.getActiveSpreadsheet().getSheetByName("L2_R1 Final Product");

var r2_fpr1_1 = sheet4.getRange("E18");
r2_fpr1_1.setFormula("=if(D18="Poor",0,if(D18="Acceptable",1,if(D18="Excellent",2,)))");

This produces the error: SyntaxError: missing ) after argument list (line 108, file "Code.gs") Although I don't think I'm actually missing a )

After going through other posts I've tried the following:

var r2_fpr1_1 = sheet4.getRange("E18");
r2_fpr1_1.setFormula("=if(D18=\""+Poor+"\",0,if(D18=\""+Acceptable+"\",1,if(D18=\""+Excellent+"\",2,)))");

and

var r2_fpr1_1 = sheet4.getRange("E18”) 
r2_fpr1_2.setFormula(`=if(D18="${Poor}",0,if(D18="${Acceptable}",1,if(D18="${Excellent}",2,)))`);

Both of those give me the error: ReferenceError: Poor is not defined (line 108, file "Code")

So what am I missing?


回答1:


You can also use setValue() instead:

var r2_fpr1_1 = sheet4.getRange('E18');
r2_fpr1_1 .setValue(`=if(D17="Poor",0,if(D17="Acceptable",1,if(D17="Excellent",2,)))`)

But also setFormula() works just fine:

var r2_fpr1_1 = sheet4.getRange('E18');
r2_fpr1_1.setFormula(`=if(D17="Poor",0,if(D17="Acceptable",1,if(D17="Excellent",2,)))`)

References:

Template literals



来源:https://stackoverflow.com/questions/63517984/google-script-setformula-error-with-string-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!