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);
}
}
}
我正在努力制作一个脚本来删除另一个 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);
}
}
}