由于脚本只在第二列上查看给定值,因此,我想在第一列上也添加另一个要求。
function deleteRowsToday() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Staffing Data 0');
var t = ss.getSheetByName('Data Collector');
var r = s.getRange(1,2,s.getLastRow());
var v = r.getValues();
var x = t.getRange(2,2).getValue();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]== x)
s.deleteRow(i+1);
我也想添加值y,这是我根据基本条件删除该行的另一个条件。并且仅当两个x
&y
都存在时,才应删除该行。
我尝试修改脚本,但仅当x
或y
存在时,它仍会删除该行。
function deleteRowsToday() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Staffing Data 0');
var t = ss.getSheetByName('Data Collector');
var r = s.getRange(1,2,s.getLastRow());
var v = r.getValues();
var x = t.getRange(2,2).getValue();
var y = t.getRange(2,1).getValue();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]== x && y)
s.deleteRow(i+1);
在工作表中,这是“数据收集器”选项卡
X应该取值B2,y应该取值A2
然后,在标签“ Staffing Data 0”中,应该在第二列中找到值x,在第一列中找到y,如果两者都匹配,则脚本应删除行。
替换if(v[0,i]== x && y)
为if(v[i][0] == y && v[i][1] == x)
替换s.getRange(1,2,s.getLastRow())
为s.getRange(1,1,s.getLastRow(),s.getLastColumn()).getValues();
function deleteRowsToday() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const s = ss.getSheetByName('Staffing Data 0');
const t = ss.getSheetByName('Data Collector');
const v = s.getRange(1,1,s.getLastRow(),s.getLastColumn()).getValues(); // <- new code
const x = t.getRange(2,2).getValue();
const y = t.getRange(2,1).getValue();
for(let i=v.length-1;i>=0;i--){
if(v[i][0] == y && v[i][1] == x) // <- new code
s.deleteRow(i+1);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句