例如,假设我在Google文档的同一工作簿中有以下工作表:
SHEET1 | SHEET2
\ A | B | \ A | B | C | D
1| ID |Lookup | 1| Lookup| Name |Flavor | Color
2| 123 | 4445 | 2| 1234 |Whizzer|Cherry | Red
3| 234 | 4445 | 3| 4445 |Fizzer |Lemon | Yellow
4| 124 | 1234 | 4| 9887 |Sizzle |Lime | Blue
5| 767 | 1234 |
6| 555 | 9887 |
显然,Google Docs并不是考虑到关系数据库,但我试图获得类似于SQL查询的结果
SELECT
SHEET1.ID,
SHEET2.*
FROM
SHEET1
LEFT JOIN
SHEET2
ON SHEET1.Lookup = SHEET2.Lookup
生成一个类似于
的表格 SHEET3
\ A | B | C | D | E
1| ID |Lookup | Name |Flavor | Color
2| 123 | 4445 |Fizzer |Lemon | Yellow
3| 234 | 4445 |Fizzer |Lemon | Yellow
4| 124 | 1234 |Whizzer|Cherry | Red
5| 767 | 1234 |Whizzer|Cherry | Red
6| 555 | 9887 |Sizzle |Lime | Blue
但这是我目前所处的位置
SHEET3
\ A | B | C | D | E
1| | | | |
2| 123 | 4445 | #N/A | |
3| 234 | 4445 | | |
4| 124 | 1234 | | |
5| 767 | 1234 | | |
6| 555 | 9887 | | |
目前,我已设法使用QUERY
功能从SHEET1
获取值,并在QUERY
尝试了一些不同的SHEET3!C1
函数" LEFT JOIN
"使用this blog post作为参考的两张纸。此时,我使用的两个功能如下:
SHEET3!A2=QUERY(SHEET1!A2:B20, "SELECT A,B")
SHEET3!C2=QUERY(SHEET2!A2:E20, "SELECT B,C,D WHERE A="""&B2&"""")
并将鼠标悬停在C2
中的错误读取"使用空输出"完成查询。我如何加入这些表?
答案 0 :(得分:1)
如果您将SHEET1复制到SHEET3(A1),然后复制到C2:
=vlookup($B2,Sheet2!$A:$D,column()-1,0)
一旦添加了三个列标签,横向和向下复制应该会显示您显示的结果。
答案 1 :(得分:0)
以下加载项将提供您所需的一切: Formulas by Top Contributors ,同时使用内置SQL连接类型和MATRIX公式:
=MATRIX(SQLINNERJOIN(Sheet1!A1:B6,2,Sheet2!A1:D4,1, TRUE),,"3")
我为您创建了一个示例文件: SQL JOINS
Affiliation:作为谷歌杰出贡献者,我帮助创建了附加组件
答案 2 :(得分:0)
Sheet3!A2:
=ARRAYFORMULA(Sheet1!A2:B20)
Sheet3!C2:
=ARRAYFORMULA(VLOOKUP(B2:B20,A1:D50,{2,3,4},0))
答案 3 :(得分:0)
在Sheet3中执行此操作。
在单元格A1中,获取正确的标题:
={Sheet1!A1:B1,Sheet2!B1:D1}
在单元格A2中,要获取Joined数据表,请尝试以下公式:
=FILTER({Sheet1!A2:B,
VLOOKUP(Sheet1!B2:B, {Sheet2!A2:A, Sheet2!B2:D}, {2,3,4}, false)},
Sheet1!B2:B<>"")
我已经写了一篇有关该主题的综合指南: