如何为所有填入的单元格(谷歌表格)重复函数



此函数目前仅保存C4的最高价格并将其输出到D4。如何使该函数遍历C4:C2000中所有已填入的单元格,并将最大价格输出到D4:D2000?

function recordMaxSellPrice() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("C4:D4");
var values = range.getValues()[0];
range.setValues([[values[0], Math.max(values[0], values[1])]]);
}

不需要循环。

下面的代码读取C4:C2000,获取最大值,将整个D4:D2000设置为最大值:

function recordMaxSellPrice() {

var aSht = SpreadsheetApp.getActiveSpreadsheet();
var rng01 =  aSht.getRange("C4:C2000");
var setRng = rng01.offset(0,1);
// see Tanaike for flatten and Mat.max.apply
var anArray = Array.prototype.concat.apply([], rng01.getValues());
setRng.setValue(Math.max.apply(null, anArray));
}

阅读Tanaike的解释

注意setValuesetValues之差

最新更新