首页 > 解决方案 > 有没有办法在多项选择中跨单元格迭代公式 - Google 工作表

问题描述

在谷歌表格中,这个简单的脚本可以选择一个单元格,然后单击一个按钮将所选单元格中的值减 1:

function tally() {
 
  var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
  var value = cell.getValue();
  cell.setValue(value-1);
}

有没有办法进行多项选择 - 即在表格中选择多个/分散的单元格,然后在每个选定的单元格中迭代函数?

标签: javascriptarraysloopsgoogle-apps-scriptgoogle-sheets

解决方案


解释:

  • 您可以使用getActiveRange并假设您有一个二维数组,您可以使用双映射从每个单元格中减去一个。
  • 然后所有值设置回工作表。

解决方案:

function tally() {
  const rng = SpreadsheetApp.getActiveSheet().getActiveRange();
  const values = rng.getValues().map(r=>r.map(c=>c-1));
  rng.setValues(values);
}

推荐阅读