我做了两个函数,它们将在激活时将单元格值增加或减少1
我添加了一个条件,即如果cellValue大于/小于-1和3,则该函数将无法运行。
我尝试了两种解决此问题的方法,但是它们都给我带来了问题。
function increment(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cellValue;
cellValue = sheet.getRange("AM39");
var range = sheet.getRange("AM39");
var value = range.getValue();
if (cellValue < 3) {
range.setValue(value + 1);
}
}
function increment(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cellValue;
cellValue = sheet.getRange("AM39");
var range = sheet.getRange("AM39");
var value = range.getValue();
if (cellValue < 3) return;
range.setValue(value + 1);
}
第一个功能使用
if (cellValue < 3) {range.setValue(value + 1);
但是该功能没有执行任何操作,我尝试了
第二个使用
if (cellValue < 3) return;
在添加值之前检查。每次按此功能该公式加1,它一直加
任命cellValue我做错什么了吗?我是Java语言的新手,正在通过电子表格进行学习
先感谢您!
最佳答案
我在下一行中看到一个问题。
var cellValue;
cellValue = sheet.getRange("AM39");
将其与您编写的另一段代码进行比较:
var range = sheet.getRange("AM39");
var value = range.getValue();
发生的情况是cellValue是一个范围,而value是单元格的实际值,因此执行
if (cellValue < 3) {
,并且(我测试了它)会导致错误。解决
只需将
cellValue = sheet.getRange("AM39");
更改为cellValue = sheet.getRange("AM39").getValue();
编辑:第二个解决方案的问题是
return
立即突然执行该函数。我的建议是让您阅读this.