如何合并使用相同模板的不同工作表中的数据?

我有一个电子表格有5张

所有的工作表共享相同的模板,所以他们都是一样的。 唯一的区别是数据

我想制作另一张表格,它们从表格1,2,3,4,5中的A3列(从第3行到最后)获取所有数据,并将其放在我的新表格的1列中。

这怎么可能?

我正在使用Google文档,但我认为Excel和Google文档非常相似。

谢谢

=CONCATENATE(Sheet1!A:A,",",Sheet2!A:A,",",Sheet3!A:A,",",Sheet4!A:A,",",sheet5!(A:A))这会将A1,A1,A1,A1,A1连接到表6中的表1-5。将其拖动到单元格连接(A2然后A3)。 你不需要定义范围A:A但是你可以如果你想。

到目前为止,我发现这个问题的最佳答案是: http : //www.jessespevack.com/systems-leadership/2015/4/22/pulling-spreadsheet-data-no-scripts-required 。 本质上使用ImportRange从其他几张工作表中拉取数据。 然后将它们包装在一个ArrayFormula中,使它们在工作表上依次出现。 最后将ArrayFormula包装在一个Sort中,这样空白的行就全部留在最后。

假设你有Sheet1,Sheet2和Sheet3,你想合并MergeSheet上的A到E列。 将列标题放在单元格MergeSheet!A1:E1中

然后在A2单元格中input这样一个公式:

 =SORT( ARRAYFORMULA({ IMPORTRANGE("https://docs.google.com/spreadsheets/d/UniqueKey","Sheet1!A2:E"); IMPORTRANGE("https://docs.google.com/spreadsheets/d/UniqueKey","Sheet2!A2:E"); IMPORTRANGE("https://docs.google.com/spreadsheets/d/UniqueKey","Sheet3!A2:E") ,1,TRUE})) 

该URL是电子表格的url,可以从浏览器的地址栏复制。

在将它们组合到一个长函数之前,最好testingIMPORTRANGE函数是否适用于每个范围。

我不认为你有这样的function的内置function。

您可以轻松编写一个执行此操作的Apps脚本

 var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); var newData = new Array(); for (var i = 1; i <= 5; i++) { var s = sheets[i]; var r = s.getRange("A:A"); // Go over the values and fill up a new range in sheet 6... var data = r.getValues(); for(i in data){ var row = data[i]; newData.push(row); } } 

这是最简单的解决scheme合并多张谷歌电子表格 (具有相同的列)

 =SORT( { IMPORTRANGE("unique_spreadsheet_key1";"'Your first sheet'!A2:G"); IMPORTRANGE("unique_spreadsheet_key2";"'Your second sheet'!A2:G"); IMPORTRANGE("unique_spreadsheet_key2";"'Your third sheet'!A2:G") }; 3; TRUE ) 

基于dcb解决scheme ,但纠正(sorting部分),没有ARRAYFORMULA!

  • 你可以改变3来按你需要的列对合并后的表进行sorting!
  • unique_spreadsheet_key:只是关键,不neet完整的url