If statement 检查指定范围内的任何单元格是否满足2个条件

If statement 检查指定范围内的任何单元格是否满足2个条件,if-statement,google-apps-script,google-sheets,scripting,logical-operators,If Statement,Google Apps Script,Google Sheets,Scripting,Logical Operators,我正在编写一个宏,如果满足两个条件,它将发送警报电子邮件 电子邮件正在发送,但不分青红皂白地发送,而不仅仅是在满足我想要设置的条件时发送。 条件:如果范围(I1:I9999)内的任何单元格背景颜色为白色且包含文本“QC”,则发送电子邮件。 这就是我尝试过的: var QCJobRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WIP").getRange("I1:I9999"); var Location = QC

我正在编写一个宏,如果满足两个条件,它将发送警报电子邮件

电子邮件正在发送,但不分青红皂白地发送,而不仅仅是在满足我想要设置的条件时发送。 条件:如果范围(I1:I9999)内的任何单元格背景颜色为白色且包含文本“QC”,则发送电子邮件。 这就是我尝试过的:

 var QCJobRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WIP").getRange("I1:I9999"); 
  var Location = QCJobRange.getValue();

  // Check for white cells with value=QC in Location column

  if (Location = "QC") and (Background = "#ffffff");

// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WIP").getRange("C2");
var emailAddress = emailRange.getValues();

// Send Alert Email.
var message = 'bla';
var subject = 'bla';
MailApp.sendEmail(emailAddress, subject, message);
我直接在脚本编辑器中工作,您可以从Google sheets打开脚本编辑器。 看来有些操作员没有被接走,f。E“and”甚至没有突出显示,我得到以下错误消息:“and”没有定义

我一直在梳理论坛,寻找一个简单的解决方案,但我有点被“和”的问题困住了。 有什么建议吗?

基于

  • “and”的语法是
    &&
  • if
    语句的语法是
    if(condition1&&condition2){…dosomething…}
  • 该方法适用于单个值(来自单个单元格),而用于表示二维数组的值范围
  • 如果要比较两个值,请使用运算符
    =
下面是一个示例,用于修改roder中的代码,以便在单元格“I1”的背景为白色且其值为“QC”时发送消息:

有关更多示例和信息,请参阅应用程序脚本教程:

function myFunction() {
  //if you do not have 999 rows full of data, please reduce your range - otherwise your code will be slow
   var QCJobRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WIP").getRange("I1:I9999"); 
   var Locations = QCJobRange.getValues();
   var firstLocation=Locations[0][0];
  // Check for white cells with value=QC in Location column
  if (firstLocation == "QC"&& QCJobRange.getBackgrounds()[0][0]== "#ffffff"){
    // Fetch the email address
    var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("WIP").getRange("C2");
    var emailAddress = emailRange.getValue();
    // Send Alert Email.
    var message = 'bla';
    var subject = 'bla';
    MailApp.sendEmail(emailAddress, subject, message);
  }
}