如果我问的问题已经解决,我很抱歉,但我读了很多,但仍然找不到答案。
我正在尝试使用 AppScripts 上的 copyTo 函数将过滤后的范围复制到另一张工作表,但我无法忽略标题。
这是代码:
function newColumnFormula() {
var sheet = SpreadsheetApp.openById("XXX").getSheetByName("XXX");
var targetSheet = SpreadsheetApp.openById("XXX").getSheetByName("XXX");
var lastColumn = sheet.getLastColumn();
var lastRow = sheet.getLastRow();
sheet.insertColumnAfter(lastColumn);
var formula = "=T2-G2";
var newColumnRange = sheet.getRange(2, lastColumn + 1, lastRow - 1, 1);
newColumnRange.setFormula(formula);
sheet.getDataRange().createFilter();
var filterCriteria =
SpreadsheetApp.newFilterCriteria().whenNumberGreaterThan(30).build();
sheet.getFilter().setColumnFilterCriteria(lastColumn + 1, filterCriteria);
var filteredRange = sheet.getFilter().getRange();
var targetLastRow = targetSheet.getLastRow() + 1;
filteredRange.copyTo(targetSheet.getRange(targetLastRow, 1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);}
尝试使用 slice(1) 和 shift() 但意识到它不适用于 copyTo。
提前致谢!
建议:
更改了此代码:
var filteredRange = sheet.getFilter().getRange();
这段代码:
var rangeToCopy = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
因为您只需要复制过滤后的数据,而不包括列标题。
完整代码示例:
function newColumnFormula() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var lastColumn = sheet.getLastColumn();
var lastRow = sheet.getLastRow();
sheet.insertColumnAfter(lastColumn);
var formula = "=T2-G2";
var newColumnRange = sheet.getRange(2, lastColumn + 1, lastRow - 1, 1);
newColumnRange.setFormula(formula);
sheet.getDataRange().createFilter();
var filterCriteria =
SpreadsheetApp.newFilterCriteria().whenNumberGreaterThan(30).build();
sheet.getFilter().setColumnFilterCriteria(lastColumn + 1, filterCriteria);
var rangeToCopy = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
var targetLastRow = targetSheet.getLastRow() + 1;
rangeToCopy.copyTo(targetSheet.getRange(targetLastRow, 1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
}
如果您有任何进一步的说明,请告诉我,因为这些示例是基于我对您帖子的理解。