我有一個電子表格,我想逐行搜索并將 O 列中的值與“選單”頁面上的值進行比較。如果 O 列中的值小于 Menu 的值,則將整行變為紅色。
這是我到目前為止所擁有的,但它不起作用。
function checkDate(sheet){
menu = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Menu");
var rows = sheet.getDataRange().getValues();
for(var i=0; i < rows.length; i ){
if(rows[i][14] > menu.getRange("B5").getValue()){
var changeRange = sheet.getRange(1,i,1,sheet.getLastColumn());
changeRange.setBackgroundRGB(255, 0, 0);
}
}
}
uj5u.com熱心網友回復:
這似乎作業......
function checkDate(sheetName){
menu = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("menu");
sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var rows = sheet.getDataRange().getValues();
console.log(sheet.getName());
for(var i=0; i < rows.length; i ){
if(rows[i][14] > menu.getRange("B5").getValue()){
sheet.getRange(i 1,1,1,sheet.getLastColumn()).setBackgroundRGB(255, 0, 0);
}
}
}
uj5u.com熱心網友回復:
如果第 15 列是一個日期,那么試試這種方式
function checkDate(sheetName) {
const ss = SpreadsheetApp.getUi();
const menu = ss.getSheetByName("menu");
const b5 = new Date(menu.getRange("B5").getValue()).valueOf();
const sh = ss.getSheetByName(sheetName);
const sr = 2;//data start row
var rows = sh.getRange(sr, 14, sh.getLastRow() - sr 1).getValues();
rows.forEach((r,i) => {
if(new Date(r[14]).valueOf() > b5) {
sh.getRange(i 1, 1, 1, sh.getLastColumn()).setBackground("#ff0000");
}
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/468831.html
下一篇:語法錯誤:SyntaxError:missing)afterargumentlist-GoogleSheets(超級奇怪的一個)
