Javascript 筛选排除Google应用程序脚本中的少数工作表
我想在下面的脚本Javascript 筛选排除Google应用程序脚本中的少数工作表,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我想在下面的脚本过滤器(sheet=>sheet.getName().endsWith(“2020”) 另一方面,我试图像这样包含2021,但这不起作用filter(sheet=>sheet.getName().endsWith((“2020”,“2021”)) 全文如下: function SUMMARIZE() { const ss = SpreadsheetApp.getActive(); const weekSheets = ss.getSheets().filter(s
过滤器(sheet=>sheet.getName().endsWith(“2020”)
另一方面,我试图像这样包含2021
,但这不起作用filter(sheet=>sheet.getName().endsWith((“2020”,“2021”))
全文如下:
function SUMMARIZE() {
const ss = SpreadsheetApp.getActive();
const weekSheets = ss.getSheets().filter(sheet => sheet.getName().endsWith("2020"));
const summarySheet = ss.getSheetByName("Summary");
let weekData = weekSheets.map(weekSheet => {
return weekSheet.getRange(2, 1, weekSheet.getLastRow() - 1).getValues();
}).flat();
const getUnique_ = array2d => [...new Set(array2d.flat())];
uniqueValues = getUnique_(weekData).map(e => [e]);
var header = [["Company Name"]];
summarySheet.getRange("A1:A1").setValues(header);
summarySheet.getRange("A2:A"+(uniqueValues.length+1)).setValues(uniqueValues);
}
更新:我添加了工作表使用!includes()
以排除摘要
和结果
工作表
替换:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
const weekSheets=ss.getSheets().filter(sheet=>sheet.getName().endsWith(“2020”);
与:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
参考文献:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
使用!includes()
排除摘要和结果表
替换:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
const weekSheets=ss.getSheets().filter(sheet=>sheet.getName().endsWith(“2020”);
与:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
参考文献:
const weekSheets = ss.getSheets().filter(sheet =>!["Summary","Result"].includes(sheet.getName()));
我得到了这个错误例外:范围内的行数必须至少为1。在第15行,16行,您的电子表格文件中有一些空工作表没有任何内容或只有一行,因此getLastRow-1
变为0。索引为0
的行不存在。请将这些工作表也排除或删除或在其中放置一些内容(至少2行)或调整逻辑。@NixI遇到此错误异常:范围内的行数必须至少为1。在第15、16行,您的电子表格文件中有一些空工作表没有任何内容或只有一行,因此getLastRow-1
变为0。索引为0
的行不存在。请排除这些也可以删除或删除记录,或在其中放置一些内容(至少2行),或调整逻辑。@Nix