我创建了两个函数,一旦激活,单元格值就会增加或减少 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 时做错了什么吗?我对 Javascript 很陌生,我正在通过电子表格学习它
提前谢谢您!
最佳答案
我在以下行中看到一个问题。
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.
关于Javascript函数增加/减少cellValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31787909/