Невозможно преобразовать строку листа в ошибку класса в скрипте Google - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь удалить строки с повторяющимися значениями в последней строке в листе Google с помощью скрипта.В этом случае это будет строка со значениями «hi», но я не уверен, как решить эту ошибку:

Невозможно преобразовать пн 31 декабря 2018 00:15:41 GMT + 0800(HKT), привет (класс).(строка 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]]);
  }
} 

sheet

1 Ответ

0 голосов
/ 30 декабря 2018

Удалить все строки, которые имеют те же данные в столбце 2, что и последняя строка

Насколько я понимаю, ваша проблема состоит в том, чтобы удалить все строки, которые соответствуют тем же данным в столбце 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.
    }
  }
}

Существует множество ответов на вопрос об удалении повторяющихся строк при переполнении стека.Сделайте небольшой поиск, и вы найдете их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...