Javascript函数增加/减少cellValue

标签 javascript google-sheets

我创建了两个函数,一旦激活,单元格值就会增加或减少 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/

相关文章:

Javascript 将数组索引简化为参数

javascript - 当 shell 中的日期与今天的日期匹配时为整行着色

google-sheets - 我们可以使用Google Spreadsheet作为后端数据库吗

javascript - 将客户端 JavaScript 中的数组或哈希传递到服务器端 ruby​​ 有哪些好方法?

c# - 如何在javascript中获取DropDownList的DataTextField?

google-sheets - 在单个单元格中查找多个值(逗号分隔),然后将值返回到单个单元格(也以逗号分隔)

javascript - Google Apps 脚本计算 2 列中相同单元格的数量

google-apps-script - 我可以阻止具有编辑权限的人修改我的谷歌应用程序脚本吗?

javascript - 如何在 WordPress 网站上设置自定义功能?

javascript - 在 Grunt 上的 uglifyjs 任务期间有条件地删除 DEBUG