我可以在 Google Drive 文件夹上使用 IMPORTRANGE 吗?

Can I use IMPORTRANGE on a Google Drive folder?

如果我导入两个 sheet,此代码对我有用:

={IMPORTRANGE("Sheet1Key","SheetName!A2:A500");IMPORTRANGE("Sheet2Key","SheetName!A2:A500")}

但是,我有多个 sheet,都在同一个文件夹中,所有数据都在第一个 sheet 中,所有数据都在相同的单元格中。

是否有可能以某种方式从文件夹导入或以某种方式自动添加该文件夹中所有文件的 ID 或名称?

我不确定您所说的自动导入该文件夹中的所有文件是什么意思。但是你可以做的是使用我刚才制作的以下代码。 (你需要在 scripts.google.com 下制作并且你需要 运行 代码) 您唯一需要更改的是文件夹名称,其中我写了“文件夹的类型名称”

function listFolderContents() {
var foldername = 'type name of folder';
var folderlisting = 'URL listing for folder ' + foldername;

var folders = DriveApp.getFoldersByName(foldername)
var folder = folders.next();
var contents = folder.getFiles();

var ss = SpreadsheetApp.create(folderlisting);
var sheet = ss.getActiveSheet();
sheet.appendRow( ['name', 'link'] );

var file;
var name;
var link;
var row;
while(contents.hasNext()) {
file = contents.next();
name = file.getName();
link = file.getUrl();
sheet.appendRow( [name, link] );     
}  
};

它将创建一个名为“URL 文件夹(文件夹名称)列表的 google 电子表格,该文件夹位于您尝试为其获取文件的文件夹内。电子表格将包含所有文件 URL 的数组。给定 URL,创建导入范围应该相对容易一些。您也许可以拆开我的代码并使用有助于您实现目标的部分。希望这可以帮助。

你只需要使用一个数组:

=query(arrayformula({importrange(sheet1!A1:Z100);importrange(sheet2!A1:Z100)}), "SELECT *",1)

这确实假设所有数据的结构都相同。