2

我已经搜索了一个答案,但我找不到任何地方。多列条件格式化

我想根据该单元格和另一个单元格的内容设置单个单元格的背景颜色。

例如,如果该特定单元格为空并且B1没有“x”,我希望A1具有绿色背景颜色。如果没有满足任何一个条件,即A1或B1中没有“x”,我不希望A1被突出显示。

然后我想将它应用到整个列A,并且每次编辑列A或B时都要更新它。

回答

2
function onEdit() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(), 
     s = ss.getSheetByName('Sheet1'), 
     values = s.getRange('A1:B').getValues(), 
     row, len, colors = []; 

    // CHECK VALUES FOR CONDITIONS 
    for (row = 0, len = values.length; row < len; row++) { 
    if (values[row][0] == '' && values[row][1] != 'x') 
     colors.push(['green']); 
    else colors.push(['white']);} 

    // SET NEW COLORS ALL AT ONCE 
    s.getRange('A1').offset(0, 0, len).setBackgrounds(colors); 
} 
+0

谢谢BryanP。我做的唯一修改是在第9行,在那里我将“if(values [row] [0] ==''&& values [row] [1]!='x')”改为“if(values [row] [0] ==''&& values [row] [1] =='x')然后它完美地工作。再次感谢! – user2403179