【问题标题】:google sheets increment selected cells谷歌表格增加选定的单元格
【发布时间】:2021-05-10 00:26:36
【问题描述】:

我将如何编写增加所选单元格的脚本。这是递增一个选定单元格的代码。单元格将始终包含自然数。

function increment() {
  
  var currentCell = SpreadsheetApp.getCurrentCell();
  var value = currentCell.getValue();
  currentCell.setValue(value+1);

}

如果可能的话,我想要这样的东西

function increment(){
  var selectedCells = SpreadsheetApp.getSelectedCells();
  selectedCells.forEach( (e) => {
    e.setValue(e.getValue() + 1 );
  });

}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    选择不需要是连续的,因此要以通用方式实现这一点,您必须迭代 RangeList 对象并使用 range.getValues()

    getValues() 调用将返回一个二维数组。迭代数组中的值的一种简单方法是使用map.map 模式。试试这个:

    function increment() {
      SpreadsheetApp.getActiveRangeList()
        .getRanges().forEach(range => {
          const values = range.getValues()
            .map(row => row
              .map(value => (Number(value) || 0) + 1)
            );
          range.setValues(values);
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多