更简单地检查是否编辑了单元格并插入了某个值(Google电子表格脚本)

时间:2014-01-10 10:39:51

标签: google-apps-script google-sheets google-spreadsheet-api

我正在尝试检查我感兴趣的单元格是否已编辑并更改为某个值。在function onEdit(event)内我正在检查工作表,列,行和单元格内容是否正确:

function onEdit(event) {

  var range_active = event.source.getActiveRange();

  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var sheet_template = ss.getSheetByName("Template");

  var cell_test = sheet_template.getRange("B2");

  if(ss.getActiveSheet().getName() == "Template") {

    if(
        range_active.getColumn() == 2
        && range_active.getRow() == 2
        && cell_test.getValue() == "A"
      )
    {
        //  Do something here
    }
  }
}

所以这里有4个检查。是否有更简单的方法来检查我的单元格(此处为B2)是否已被编辑且其值是否已更改为“A”?

1 个答案:

答案 0 :(得分:1)

function cellB2EqualToA(e) {

  var sheet = e.source.getActiveSheet();
  var range = e.source.getActiveRange();
  var rangeA1 = range.getA1Notation();
  var value = sheet.getRange(rangeA1).getValue();

  if(value != 'A' && rangeA1 != 'B2'){
    return;
  }else{
    //do what you need to do
  };
}