我需要过滤范围并仅在该列为空时将列复制到另一个工作表

时间:2016-11-09 10:40:41

标签: sorting google-apps-script google-sheets

在谷歌表中。 我需要通过a-z过滤范围,并且只有当该列为空时才将列复制到另一个工作表,如果没有,则移动到下一列。 像这样:

function AutoSortOnEdit3(){
  // select active sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // select correct sheet
  var sheet = ss.getSheetByName("Edit");

  // select range (exclude top row)
  var range = sheet.getRange("I8:O21");

  // actually do the sorting
  range.sort({column: 9, ascending: true});

}
在过滤器复制O8之后

:B21:B17中的O21到表2,但如果B4:B17不是空,则复制到C4:C17,如果c不为空则相同。 在此之后,这样的事情

function AutoSortOnEdit3(){
  // select active sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // select correct sheet
  var sheet = ss.getSheetByName("Edit");

  // select range (exclude top row)
  var range = sheet.getRange("I8:O21");

  // actually do the sorting
  range.sort({column: 11, ascending: true});

意味着像脚本开始之前一样回去。 我这是一个小菜鸟,所以我很抱歉给出了不好的解释。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果你有

function appendColVector(sheet, data) {
  var range = sheet.getRange(1, sheet.getLastColumn() + 1, data.length, 1);
  range.setValue(data);
}

然后你可以打电话

var targetSheet = ss.getSheetByName("Sheet2");
appendCol(targetSheet, range.getValues());

AutoSortOnEdit3