【问题标题】:How to join tables using Query or Vlookup如何使用 Query 或 Vlookup 连接表
【发布时间】:2018-01-09 10:22:28
【问题描述】:

我有 2 张纸

人物表有

[company    first_name  last_name   full_name   address_line1   address_city    address_state   address_zip address_country telephone   email   order_id    order_date  order_time  processor   order_type  order_currency  commission  campaign_id]

销售表有

[DATE   PROSPECT NAME   EMAIL ADDRESS   CONTACT METHOD  PRODUCT RESULT  NOTES ]

如何在 people.email = sales.EMAIL ADDRESS 时生成报告并仅在匹配时显示记录(不是所有销售表)

报告字段是

full_name
EMAIL ADDRESS
PRODUCT
commission

【问题讨论】:

    标签: google-sheets google-query-language


    【解决方案1】:

    Sample File

    请尝试使用基本公式加入工作表+查询跳过一些行。

    基本公式:

    =FILTER({Sales!B14:B,Sales!C14:C,Sales!E14:E, vlookup(Sales!E14:E,{People!B2:B,People!D2:D},2,), Sales!F14:F},Sales!A14:A<>"")

    你需要的公式:

    =QUERY(FILTER({Sales!B14:B,Sales!C14:C,Sales!E14:E, IFERROR(vlookup(Sales!E14:E,{People!B2:B,People!D2:D},2,), "do not show"), Sales!F14:F},Sales!A14:A<>""),"select * where Col4 <> 'do not show'")

    工作原理

    它使用iferror(expression, "do not show")#N/A 错误替换为文本“不显示”。

    然后它使用查询来隐藏值为“不显示”的行:

    "select * where Col4 <> 'do not show'"

    基本公式和问题is here


    使用注意事项:

    1. Sales!B14:B,Sales!C14:C,Sales!E14:E 是您需要先选择的一些列
    2. IFERROR(vlookup(Sales!E14:E,{People!B2:B,People!D2:D},2,) 将从“人物”返回列,它是列People!D2:D。请注意,Sales!E14:EPeople!B2:B 列都包含一个键,在示例中是电子邮件列表。
    3. Sales!F14:F 是接下来要返回的列。
    4. 过滤条件Sales!A14:A<>""是跳过原始工作表中的空行。您还可以将其他条件添加到过滤器中。
    5. query 部分将缩短报告并跳过键(电子邮件)不匹配的值。您可以在查询中添加其他条件。

    注意。 Google 表格中的查询语言没有joins,提供的解决方案是一种解决方法。它展示了如何借助表格中的vlookup 函数进行连接。

    • 提供的公式从工作表“销售”收集行并将vlookup 生成到工作表“人员”。您可能还想制作反之亦然的报告:从“人员”收集数据,从“销售”收集“vlookup”数据。

    “反之亦然”报告:

    =QUERY(FILTER({vlookup(People!B2:B ,{Sales!E14:E, Sales!B14:B, Sales!C14:C, Sales!E14:E},{2, 3, 4},), People!B2:B, IFERROR(vlookup(People!B2:B ,{Sales!E14:E, Sales!F14:F},2,),100500)},People!A2:A<>""),"select * where Col5 <> 100500")

    注意!在此公式中使用数值 100500 来跳过值,因为查询适用于单一数据类型(数字或文本)。


    如果您对它的工作原理有任何疑问,请在此处发表评论。

    【讨论】:

    • 我在答案中添加了一些注释。 Google 表格中的查询语言没有连接,提供的解决方案是一种解决方法。它展示了如何借助 Sheets 中的 vlookup 函数进行连接。希望这会有所帮助。
    • 添加了从工作表“人员”作为主工作表(存储唯一 ID 的地方)生成报告的公式。
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 2016-04-23
    • 2019-09-02
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    相关资源
    最近更新 更多