Google表格查询()函数返回意外数据

时间:2017-07-23 22:52:51

标签: sql google-sheets google-query-language google-sheets-query

我在使用Google表格中的QUERY()功能时遇到问题。我不确定我是否使用正确的函数来生成所需的数据。我对T-SQL更加满意,但我的妻子需要一个从她当前的谷歌表生成的邮件列表。

事实:

  • Sheet2填充了来自B3:K150

  • 的数据
  • 我在Sheet2,B列中有一个名单列表。

  • 我在Sheet2,G列

  • 中有一个地址列表
  • Sheet1不包含B列中填充的数据以外的数据(见下文)

  • Sheet1,B列填充了一个唯一的名称列表 Sheet2,B列使用= Unique('Sheet2'!$ B $ 3:$ B $ 150)。

目标:

  • 我想用 Sheet2,G列填充 Sheet1,C列 在哪里Sheet1(ColumnB)= Sheet2(ColumnB)

显然,使用SQL,我们会这样写:

SELECT [Sheet1].[ColumnB]
      ,[Sheet1].[ColumnC] 
FROM [Sheet1] 
    INNER JOIN [Sheet2] 
        ON [Sheet1].[ColumnB] = [Sheet2].[ColumnB]

我尝试了什么:

将以下公式插入Sheet1!C3:

=QUERY(Sheet2!B3:K150,"SELECT G WHERE B ='"&Sheet1!B3:B150&"'",0)

工作表截图:

enter image description here enter image description here

我缺少什么?

2 个答案:

答案 0 :(得分:1)

这对我很有用:

=unique(query(Sheet2!B3:G150,"select B,G"))

由用户发布: pnuts 在上面的评论中。

答案 1 :(得分:0)

在Sheet1C3中试试=Arrayformula(if(B3:B=Sheet2!B3:B,Sheet2!G3:G,""))如果您需要我解释公式,请告诉我。