Google Sheet 根据单个单元格和数组删除行的脚本

Google Sheet script to delete rows based on individual cell and array

我正在努力制作一个脚本来删除另一个 sheet 的相应行。理想情况下,我希望能够 运行 一个脚本,从 Sheet 1 Supplier and Jobs 和 sheet 2 中删除匹配的条目。问题是一些工作将与其他供应商匹配.任何帮助将不胜感激!

一个例子sheet: https://docs.google.com/spreadsheets/d/1G5vUPF6H1WWlHICDd92SMg44QfPUObil8A2Ocu_usm4/edit?usp=sharing

注意您需要将已完成的 sheet 更新为此格式

const ss = SpreadsheetApp.openById(sheetID);


function deleteRowMain() {
  //data with completed Results
  let ws_1 = ss.getSheetByName("Sheet1");
  let ws_2 = ss.getSheetByName("Sheet2");
  let data_completed = ws_1.getDataRange().getValues();
  let data_pending = ws_2.getDataRange().getValues();

  //nameIndex and job index on completed sheet
  let nameIndex = 2;
  let jobIndex = 3;

  for (let i = 0; i < data_completed.length; i++) {
    let row = data_completed[i];
    deleteRow_(row[nameIndex - 1], row[jobIndex - 1])
  }
}

function deleteRow_(value_1, value_2) {
  //nameIndex and job index on pending sheet
  let nameIndex = 2;
  let jobIndex = 3;

  let ws = ss.getSheetByName("Sheet2");
  let data = ws.getDataRange().getValues();
  for (let i = data.length - 1; i >= 0; i--) {
    let row = data[i];
    if (row[nameIndex - 1] == value_1 && row[jobIndex - 1] == value_2) {
      //delets row if 'Value1' and 'value2' matches
      ws.deleteRow(i + 1);
    }
  }
}