如何合并使用相同模板的不同工作表中的数据?
我有一个电子表格有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