如何将具有固定值的列添加到导入的数据Google电子表格

时间:2016-05-11 08:45:53

标签: google-sheets

我需要合并两个电子表格中的数据,并在每一行添加带有文件ID的列。

电子表格1列=> A B C D

电子表格2列=> O P Q R

Spreadsheet merged Columns => ' 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!=''")
})

1 个答案:

答案 0 :(得分:1)

此公式是否符合您的要求:

={QUERY(importrange("spreadsheet1-ID", "'Sheet'!A:X"),"SELECT Col24,Col1,Col2,Col3,Col4 WHERE Col1!=''");QUERY(importrange("spreadsheet2-ID", "'Sheet'!O:X"),"SELECT Col10,Col1,Col2,Col3,Col4 WHERE Col1!=''")}

要添加工作表本身不存在的ID,请尝试以下公式:

=ArrayFormula({IF(SIGN(row(INDIRECT("1:"&ROWS(QUERY(importrange("key1", "'Sheet'!A:D"),"WHERE Col1!=''"))))),"ID1",),QUERY(importrange("key1", "'Sheet'!A:D"),"WHERE Col1!=''");IF(SIGN(row(INDIRECT("1:"&ROWS(QUERY(importrange("key2", "'Sheet'!O:R"),"WHERE Col1!=''"))))),"ID2",),QUERY(importrange("key2", "'Sheet'!O:R"),"WHERE Col1!=''")})

您可以在此示例表中看到它:https://docs.google.com/spreadsheets/d/1sSHP0sekUc5PxnubpnieWthD2H_9s4P2JWqmtxM906o/edit?usp=sharing