如何在 sheet1 的第 I 列中找到非空值,然后复制整行并粘贴到 sheet2

How to find the non-blank value in column I in sheet1 then copy entire row and paste to sheet2

我在 Google sheet1 A:I 中有数据,如果 J 列有值,我需要从 A:I 复制行,然后粘贴到 sheet2 的最后一行。感谢您的帮助

Exp: 我想复制 3 行有 dog, cat 和 mango 到 sheet2 的最后一行

datas   datas   datas   datas   datas   datas       
datas   datas   datas   datas   datas   datas       dog
datas   datas   datas   datas   datas   datas       cat
datas   datas   datas   datas   datas   datas       mango
datas   datas   datas   datas   datas   datas       

试试这个:

function myFunction(){
  var sh = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sh.getSheetByName("Sheet1");
  var data = sh1.getDataRange().getValues();
  var newArr = [];
  var checkRange = sh1.getRange(1, 10, sh1.getLastRow(), 1).getValues();
  var merged = [].concat.apply([], checkRange);
  var filtered = merged.filter(function (el) {
    return el != "";
  });
  if(filtered.length > 0){
    data.forEach(row => {
      if(row[9]){
        row.pop();
        newArr.push(row);
      }
    })
    var sh2 = sh.getSheetByName("Sheet2");
    sh2.getRange(sh2.getLastRow()+1,1, newArr.length, newArr[0].length).setValues(newArr);
  }else{
    return;
  }
}

示例数据:

输出:

参考文献: