快速格式化单元格背景



我有一个电子表格,其中的行在作为2D数组提取时看起来像这样:

let array = 
[
[“Alex”, 35, “NA”, “NA”, “NS”, “NA”],
[“Edwin”, 23, “NS”, “NA”, “NS”, “NA”],
[“Jacob”, 56, “NA”, “NS”, “NS”, “NS”],
[“Yandy”, 19, “NA”, “NA”, “NS”, “NS”],
]

我需要设置任何显示"NA"的单元格的背景色。我目前有一个for循环来完成这项工作,但我想减少运行此脚本所需的时间。这可以用map方法或foreach循环来完成,这正确吗?我遇到了这个问题,因为它是一个2D阵列。

试试这个:

function myfunk() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const vs = sh.getDataRange().getValues();
const cs = sh.getDataRange().getBackgrounds();
vs.forEach((r,i)=>{
r.forEach((c,j)=>{
if(c=="NA") {
cs[i][j] = "#ffff00";//yellow background
}
});
});
sh.getDataRange(1,1,cs.length,cs[0].length).setBackgrounds(cs);
}

最新更新