【问题标题】:How do I add two values?如何添加两个值?
【发布时间】:2019-09-18 20:13:36
【问题描述】:

所以我有一个代码可以从一个单元格中减去一个值,但是当我尝试复制代码以创建一个 IF 函数来在另一个单元格中添加数字时,它不起作用。我听说“+”不是加号,所以我希望找到另一个可以根据需要做的字符。 这是要减去的代码。效果很好。

    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” ”。

    if (editRange.getA1Notation() == "R18"){
    var updateRange1 = sheet.getRange("T17:Y18");
    var newValue1 = updateRange1.getValue() + e.value;
    updateRange1.setValue(newValue1);}

【问题讨论】:

    标签: google-apps-script google-sheets triggers


    【解决方案1】:

    问题:

    e.value 总是返回一个字符串,+ 运算符连接两个字符串。

    解决方案:

    使用Number/parseInte.value 转换为数字类型。

    片段:

    updateRange1.getValue() + Number(e.value);
    //OR
    updateRange1.getValue() + parseInt(e.value);
    //OR
    updateRange1.getValue() + (+e.value);
    

    【讨论】:

      【解决方案2】:

      试试这个:

      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);
        } 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-18
        • 2016-01-05
        相关资源
        最近更新 更多