Google apps script Google sheets脚本表单响应清除单元格的OneEdit

Google apps script Google sheets脚本表单响应清除单元格的OneEdit,google-apps-script,google-sheets,google-forms,google-sheets-api,Google Apps Script,Google Sheets,Google Forms,Google Sheets Api,我试图让一个谷歌脚本在表单编辑上运行,但不确定当一个人稍后通过谷歌编辑URL用新答案编辑他们的谷歌表单时,它是OneEdit还是onSubmit function compareClear() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet1"); var firstdate = sheet.getRange("E3:E").getVa

我试图让一个谷歌脚本在表单编辑上运行,但不确定当一个人稍后通过谷歌编辑URL用新答案编辑他们的谷歌表单时,它是OneEdit还是onSubmit

function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }
我需要抓住这一行,他们的反应是在和明确的内容,细胞AO,AP,AQ,和AR只

function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }
我知道这一定是个大麻烦,但我正在努力。以下是我到目前为止的情况:

function onEdit(e) {
      var sheet = SpreadsheetApp.getActiveSheet();
      var editRange = sheet.getActiveRange();
      var editRow = editRange.getRow();
      var editCol = editRange.getColumn();
      var range = sheet.getRange("A2:AL");
      var rangeRowStart = range.getRow();
      var rangeRowEnd = rangeRowStart + range.getHeight()-1;
      var rangeColStart = range.getColumn();
      var rangeColEnd = rangeColStart + range.getWidth()-1;

      if (editRow >= rangeRowStart && editRow <= rangeRowEnd 
             && editCol >= rangeColStart && editCol <= rangeColEnd)
    {
        var ss = e.range.getSheet();

        ss.getRange(thisRow,"AO" & i & ":AR" & i) // Get cells in range AO,AP,AQ,AR to clear out
              .clearContent();
     }
};
function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }
函数onEdit(e){
var sheet=SpreadsheetApp.getActiveSheet();
var editRange=sheet.getActiveRange();
var editRow=editRange.getRow();
var editCol=editRange.getColumn();
var范围=sheet.getRange(“A2:AL”);
var rangeRowStart=range.getRow();
var rangeRowEnd=rangeRowStart+range.getHeight()-1;
var rangeColStart=range.getColumn();
var rangeColEnd=rangeColStart+range.getWidth()-1;

如果(editRow>=rangeRowStart&&editRow=rangeColStart&&editCol我已经重新开始了。我可以使用这个脚本,但还没有达到所需的方式。我只需要它来清除单元格的内容(啊)对于
firstdate!=secdate
的行。当一个单元格满足条件时,立即清除列AH的所有单元格

function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }

以防其他人在这个问题上需要帮助:

function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }
这个脚本在谷歌文档论坛上得到了斯宾塞的大力帮助,我做了一些额外的修改,效果非常好。它可能不是最漂亮的脚本,但它满足了我的需要

function compareClear() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Sheet1");
      var firstdate = sheet.getRange("E3:E").getValues();
      var secdate = sheet.getRange("AG3:AG").getValues();

      if(firstdate != secdate){
            SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("AH3:AH").clearContent();
      }
 }
function compareClear() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Form Responses 1");
    var firstdate;
    var secdate;

    for (var i = 3; i < sheet.getLastRow(); i++) {
        firstdate = new Date(sheet.getRange(i, 4).getValue());
        secdate = new Date(sheet.getRange(i, 45).getValue());

        if(firstdate > secdate){
               sheet.getRange(i, 41).clearContent();
               sheet.getRange(i, 42).clearContent();
               sheet.getRange(i, 43).clearContent();
               sheet.getRange(i, 44).clearContent();
         }
     }
 }
函数compareClear(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“表单响应1”);
var firstdate;
var secdate;
对于(var i=3;isecdate){
sheet.getRange(i,41).clearContent();
getRange(i,42).clearContent();
sheet.getRange(i,43).clearContent();
getRange(i,44).clearContent();
}
}
}