如何在 O 列中搜索另一个 sheet 中列出的值并更改行颜色?
How do I search Column O for a value listed on another sheet and change row color?
我有一个电子表格,我想在其中逐行搜索并将 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);
}
}
}
这似乎有效...
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);
}
}
}
如果第 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");
}
});
}
我有一个电子表格,我想在其中逐行搜索并将 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);
}
}
}
这似乎有效...
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);
}
}
}
如果第 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");
}
});
}