我将如何编写一个增加所选单元格的脚本。这是用于增加一个选定单元格的代码。单元格将始终包含自然数。
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 );
});
}
答案 0 :(得分: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);
});
}