将数据范围剪切并粘贴到另一个 sheet 的底部

Cut and paste data range to bottom of another sheet

我是 google 应用脚本的新手,不确定如何解决这个问题。

我有两个 sheet,"Main" 和 "Extract"。一整天,数据被粘贴到 "Extract" sheet,清理(脚本删除某些列并删除列 A 中的值也存在于 "Main" sheet),然后添加到 "Main" sheet,其中包含全天提取的所有清理过的提取物。

我正在尝试编写一个脚本,它将获取 "Extract" sheet 中所有已清理的数据,并将其剪切并粘贴到 [=22= 中包含数据的最后一行下方] sheet。

清理后 "Extract" sheet 总是有 8 列 (A-H),但行数每次都不同。我不需要将 header 或第 8 列 (H) 粘贴到 "Main" sheet,只需要 A2:G(在数据的最后一行停止)。

到目前为止,这就是我所能想到的(很可能是错误的)

var data = sheet.getDataRange().getValues()
.offset(0, 0, 1);

我相信这就是你想要做的。

var spread = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spread.getSheetByName("Extract");
// skip row 1 (header) and beyond column G
var range = sheet.getRange(2,1,sheet.getLastRow()-1,7);
sheet = spread.getSheetByName("Main");
var rows = sheet.getRange(1,1,sheet.getLastRow(),1).getValues();
// search for first blank row column 1
for( var i=0; i<rows.length; i++ ) {
  if( rows[i][0] === "" ) {
    var offset = sheet.getRange(1,1).offset(i,0);
    range.copyTo(offset);
    break;
  }
}