Google Apps 脚本 "SetFormula" 不是函数
Google Apps Script "SetFormula" is not a function
我正在尝试编写一个公式来为特定单元格提供一个 formla 如果在按下按钮时它是空白的。
以下是我目前的情况:
function CustomCoords() {
var SS = SpreadsheetApp.getActive().getSheetByName('FORM');
var Lat = ('C20');
var Long = ('C21');
var LatBlank = SS.getRange(Lat).isBlank()
var LongBlank = SS.getRange(Long).isBlank()
if (LatBlank == "1"){
Lat.SetFormula("=IF(C9>500000,(LEFT(C9,2)*10000)+(MID(C9,4,2)*100)+MID(C9,7,4)")
} else {
Lat.Setvalues("")
}
if (LongBlank == "1"){
SS.getRange(Lat).SetValues("=IF(C9>500000,(LEFT($C,2)*10000)+(MID($C,4,2)*100)+MID($C,7,4)")
} else {
SS.getRange(Lat).SetValues("")
}
}
我参考了几个论坛来将脚本放在一起,据我所知它应该可以工作,但是我一直收到标题中的错误。也就是说,在涉及到这些事情时,我仍然是一个初学者,所以我很容易错过一些东西!
非常感谢任何帮助
你的代码中有很多语法错误:-
var Lat = ('C20');
是 string
而不是 range
并且您需要范围才能使用 .setValues("")
.
.setValues
不是.Setvalues
,uppercase-lowercase很重要,和SetFormula
一样是小写s
。
还有很多错误,我建议您尝试这个示例脚本并了解差异。
function CustomCoords() {
var SS = SpreadsheetApp.getActive().getSheetByName('FORM');
var Lat = SS.getRange('C20');
var Long = SS.getRange('C21');
var LatBlank = Lat.isBlank()
var LongBlank = Long.isBlank()
if (LatBlank){
Lat.setFormula("=IF(C9>500000,(LEFT(C9,2)*10000)+(MID(C9,4,2)*100)+MID(C9,7,4)")
} else {
Lat.setValue("") // not setValues becasue you're updating single cell(C20)
}
if (LongBlank){
Lat.setValue("=IF(C9>500000,(LEFT($C,2)*10000)+(MID($C,4,2)*100)+MID($C,7,4)")
} else {
Long.setValue("")
}
}
参考:-
我正在尝试编写一个公式来为特定单元格提供一个 formla 如果在按下按钮时它是空白的。
以下是我目前的情况:
function CustomCoords() {
var SS = SpreadsheetApp.getActive().getSheetByName('FORM');
var Lat = ('C20');
var Long = ('C21');
var LatBlank = SS.getRange(Lat).isBlank()
var LongBlank = SS.getRange(Long).isBlank()
if (LatBlank == "1"){
Lat.SetFormula("=IF(C9>500000,(LEFT(C9,2)*10000)+(MID(C9,4,2)*100)+MID(C9,7,4)")
} else {
Lat.Setvalues("")
}
if (LongBlank == "1"){
SS.getRange(Lat).SetValues("=IF(C9>500000,(LEFT($C,2)*10000)+(MID($C,4,2)*100)+MID($C,7,4)")
} else {
SS.getRange(Lat).SetValues("")
}
}
我参考了几个论坛来将脚本放在一起,据我所知它应该可以工作,但是我一直收到标题中的错误。也就是说,在涉及到这些事情时,我仍然是一个初学者,所以我很容易错过一些东西!
非常感谢任何帮助
你的代码中有很多语法错误:-
var Lat = ('C20');
是string
而不是range
并且您需要范围才能使用.setValues("")
..setValues
不是.Setvalues
,uppercase-lowercase很重要,和SetFormula
一样是小写s
。
还有很多错误,我建议您尝试这个示例脚本并了解差异。
function CustomCoords() {
var SS = SpreadsheetApp.getActive().getSheetByName('FORM');
var Lat = SS.getRange('C20');
var Long = SS.getRange('C21');
var LatBlank = Lat.isBlank()
var LongBlank = Long.isBlank()
if (LatBlank){
Lat.setFormula("=IF(C9>500000,(LEFT(C9,2)*10000)+(MID(C9,4,2)*100)+MID(C9,7,4)")
} else {
Lat.setValue("") // not setValues becasue you're updating single cell(C20)
}
if (LongBlank){
Lat.setValue("=IF(C9>500000,(LEFT($C,2)*10000)+(MID($C,4,2)*100)+MID($C,7,4)")
} else {
Long.setValue("")
}
}
参考:-