我需要合并两个电子表格中的数据,并在每行上添加包含文件 ID 的列。
电子表格 1 列 => A B C D
电子表格 2 列 => O P Q R
电子表格合并列 => 'X' A B C D O P Q R
已编辑:其中 X 列包含电子表格的 ID。
...其中“X”不是电子表格 1 或电子表格 2 中的列,而是合并的新电子表格中的新列,并且包含作为行来源的电子表格的文本/ID。
我现在使用这个代码...
=ARRAYFORMULA({
QUERY(importrange("spreadsheet1-ID"; "'Sheet'!A:D");"SELECT * WHERE Col1!=''");
QUERY(importrange("spreadsheet2-ID"; "'Sheet'!O:R");"SELECT * WHERE Col1!=''")
})
...我得到:
A1 B1 C1 D1
A2 B2 C2 D2
O1 P1 Q1 R1
O2 P2 Q2 R2
但我需要:
spreadsheet1-ID A1 B1 C1 D1
spreadsheet1-ID A2 B2 C2 D2
spreadsheet2-ID O1 P1 Q1 R1
spreadsheet2-ID O2 P2 Q2 R2
我可以使用类似的方法在 QUERY 中添加带有 ID 的固定列吗?
=ARRAYFORMULA({
QUERY(importrange("spreadsheet1-ID"; "'Sheet'!A:D");"SELECT 'ID1', * WHERE Col1!=''");
QUERY(importrange("spreadsheet2-ID"; "'Sheet'!O:R");"SELECT 'ID1', * WHERE Col1!=''")
})
最佳答案
这个公式是否如您所愿:
={QUERY(importrange("spreadsheet1-ID", "'工作表'!A:X"),"SELECT Col24,Col1,Col2,Col3,Col4 WHERE Col1!=''");QUERY (importrange("spreadsheet2-ID", "'工作表'!O:X"),"SELECT Col10,Col1,Col2,Col3,Col4 WHERE Col1!=''")}
要添加工作表本身不存在的 ID,请尝试以下公式:
=ArrayFormula({IF(SIGN(row(INDIRECT("1:"&ROWS(QUERY(importrange("key1", "'工作表'!A:D"),"WHERE Col1!='') "))))),"ID1",),QUERY(importrange("key1","'工作表'!A:D"),"WHERE Col1!=''");IF(SIGN(行(INDIRECT( "1:"&ROWS(QUERY(importrange("key2", "'Sheet'!O:R"),"WHERE Col1!=''"))))),"ID2",),QUERY(importrange("key2", "'工作表'!O:R"),"WHERE Col1!=''")})
您可以在此示例表中看到它的工作原理:https://docs.google.com/spreadsheets/d/1sSHP0sekUc5PxnubpnieWthD2H_9s4P2JWqmtxM906o/edit?usp=sharing
关于google-sheets - 如何将具有固定值的列添加到导入的数据Google电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37157389/