首页 > 解决方案 > 增加列中的所有单元格值

问题描述

我正在使用谷歌表格上的脚本将列中的所有不同数值增加 1,如果该单元格中有一个值,但是目前我只有一个脚本可以增加一个单元格。我已经尝试了几种不同的方法来让这个函数在行中重复,但我还没有足够的知识让它按照我想要的方式运行,而不会将列中的所有值都更改为相同。任何指针都非常感谢。这是我想要在一列中的每一行发生的代码。

function increment(targetcell = "A1") {
  var sheet = SpreadsheetApp.getActiveSheet()
  var range = sheet.getRange(targetcell)
  var value = range.getValue()
  range.setValue(value + 1);
}

标签: google-apps-scriptgoogle-sheets

解决方案


在运行函数之前,为您选择的范围内的每个数字添加一个。它会跳过空白单元格和不包含数字的单元格

function addontoallcellswithanumberinarange() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  const rg = sh.getActiveRange();//you select it before running the function
  const vs = rg.getValues();
  const row = rg.getRow();
  const col = rg.getColumn();
  vs.forEach((r, i) => {
    r.forEach((c, j) => {
      if (c && !isNaN(c)) {
        sh.getRange(i + row, j + col).setValue(c + 1);
      }
    })
  })
}

推荐阅读