我正在尝试使用脚本删除基于Google工作表中最后一行的重复值的行。在这种情况下,它将是具有“ hi”值的行,但是我不确定如何解决此错误:
无法将Mon Dec 31 2018 00:15:41 GMT + 0800(HKT),hi转换为(class)。 (第18行,文件“代码”)
这是我的代码:
// retrieve sheet data and store into variable
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
// get last row value from column B(target column)
var col_len = data.length
var lastRow = data[col_len-1][1];
var index = new Array();
function check_dup(){
for(i=0; i<data.length;i++){
if(lastRow === data[i][1]){
index.push(i);
}
}
//error from this line
for(i=index.length-2;i>=1;i--){
sheet.deleteRow(data[index[i]]);
}
}
答案 0 :(得分:1)
据我了解,您的问题是删除与第2列中的数据相同的所有与最后一行相同的行。
function removeDup() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var targetData=data[data.length-1][1];//last row column 2 is target data
var d=0;//number of rows deleted
for(var i=1;i<data.length-1;i++){ //start at one to skip header row and don't go to last row
if(data[i][1]==targetData){//if it matches targetData then delete row
sheet.deleteRow(i-d+1);
d++;//increment delete counts because the row got delete the data array is still the same size.
}
}
}
关于在堆栈溢出时删除重复行的主题,有很多答案。稍作搜索,您就会找到它们。