循环遍历 sheet 的函数

Function that loops through the sheet

我正在尝试制作将执行以下操作的 Apps 脚本宏:

在对文档进行一些深入研究之后,我想到了这个,根据我的理解,它应该可以工作,但既然我在这里问了一个问题,它显然没有。脚本确实没有错误地执行,但它在 sheet.

上没有任何改变
function increment() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var EndRow = ss.getLastRow();
  for (var i = 2; i <= EndRow; i++) {
      var Cell = ss.getRange(i,8);
      var CheckmarkCell = ss.getRange(i,1);
      if (CheckmarkCell.getValue() == 'TRUE') {
          ss.Cell.setValue(ss.Cell.getValue() + 1);
      }
  }
}

有人知道吗,这里出了什么问题?

看看这是否有帮助?

function increMentWhenTrue() {
  const sh = SpreadsheetApp.getActive().getSheetByName('Sheet1').getDataRange().offset(2, 0)
  const values = sh.getValues().map(r => {
    r[7] = (r[0]) ? (r[7]) ? r[7]+1 : 1 : r[7];
    return r; 
    })
  sh.setValues(values);
}

更改第一行中的 sheet 名称以满足您的要求。

具有 if-else 语句的相同代码

function increMentWhenTrue() {
  const sh = SpreadsheetApp.getActive().getSheetByName('Blad1').getDataRange().offset(2, 0)
  const values = sh.getValues().map(r => {
    if (r[0]) {
      if (r[7]) {
        r[7] = r[7] + 1;
      } else {
        r[7] = 1;
      }
    } else {
      r[7] = r[7];
    }

    return r;
  })
  sh.setValues(values);
}