我有一张有5张
的电子表格所有工作表共享相同的模板,因此它们是相似的。唯一的区别是数据
我想制作另一张工作表,它会从工作表1,2,3,4,5中的第A3列(从第3行到第3行)获取所有数据,并将其放在我的新工作表中的1列中。
这怎么可能?
我正在使用Google文档,但我认为Excel和Google文档非常相似。
由于
答案 0 :(得分:3)
=CONCATENATE(Sheet1!A:A,",",Sheet2!A:A,",",Sheet3!A:A,",",Sheet4!A:A,",",sheet5!(A:A))
对于工作表6中的工作表1-5,这将concatenate A1,A1,A1,A1,A1。向下拖动以按单元(A2然后是A3)连接。您无需定义范围A:A
,但如果需要,则可以。
答案 1 :(得分:3)
到目前为止,我在这里找到了这个问题的最佳答案: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中输入如下公式:
=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}))
网址是电子表格的网址,可以从浏览器的地址栏中复制。
最好在将它们组合成一个长函数之前测试IMPORTRANGE函数是否适用于每个范围。
答案 2 :(得分:0)
我认为你没有这种功能的内置功能。</ p>
您可以轻松编写执行此操作的Apps Script
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);
}
}
答案 3 :(得分:0)
这是合并多张google电子表格的最简单的解决方案(使用相同的列)
=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 solution,但已更正(SORT部分)且没有ARRAYFORMULA!
3
,按照您需要的列对合并的表格进行排序!