Google apps script 如何添加两个值?
所以我有一个从一个单元格中减去一个值的代码,但是当我试图复制这个代码来创建一个IF函数来在另一个单元格中添加数字时,它不起作用。我听说“+”不能作为加号,所以我希望找到另一个可以根据需要使用的字符。 这是要减法的代码。它工作得很好Google apps script 如何添加两个值?,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,所以我有一个从一个单元格中减去一个值的代码,但是当我试图复制这个代码来创建一个IF函数来在另一个单元格中添加数字时,它不起作用。我听说“+”不能作为加号,所以我希望找到另一个可以根据需要使用的字符。 这是要减法的代码。它工作得很好 if (editRange.getA1Notation() == "R17"){ var updateRange = sheet.getRange("T17:Y18"); var newValue = updateRange.getValue(
if (editRange.getA1Notation() == "R17"){
var updateRange = sheet.getRange("T17:Y18");
var newValue = updateRange.getValue() - e.value;
updateRange.setValue(newValue);}
这是密码。它可以启动,但是如果我在T17:Y18范围内有“112”,在R18范围内有“8”,那么该范围内的值将是“1128”
问题:
e.value
始终返回一个字符串,+
运算符将两个字符串连接起来
解决方案:
使用Number
/parseInt
将e.value
转换为数字类型
片段:
试试这个:
function onEdit(e) {
//e.source.toast('1');//for debugging
var sh=e.range.getSheet();
if(e.range.getA1Notation()=="R18" && sh.getName()=='Sheet1') {//Limit action to only one cell in one sheet in the spreadsheet
var updateRange1=sh.getRange("T17");
var newValue1=Number(updateRange1.getValue()) + Number(e.value);
updateRange1.setValue(newValue1);
}
}
updateRange1.getValue() + Number(e.value);
//OR
updateRange1.getValue() + parseInt(e.value);
//OR
updateRange1.getValue() + (+e.value);
function onEdit(e) {
//e.source.toast('1');//for debugging
var sh=e.range.getSheet();
if(e.range.getA1Notation()=="R18" && sh.getName()=='Sheet1') {//Limit action to only one cell in one sheet in the spreadsheet
var updateRange1=sh.getRange("T17");
var newValue1=Number(updateRange1.getValue()) + Number(e.value);
updateRange1.setValue(newValue1);
}
}