【问题标题】:Use "Mode" Function within Google Sheets Query在 Google 表格查询中使用“模式”功能
【发布时间】:2021-02-01 19:51:16
【问题描述】:

我正在使用 Google 表格中的查询功能来提取数据。我需要添加条件以仅根据特定列的模式提取数据。模式随数据而变化,因此使用模式功能使其动态化将使生活更轻松。当我在 Mode 值中硬编码时,这有效。我尝试了几种不同的变体,但在嵌套在我的查询公式中时无法让 Mode 函数工作。

这是我目前的公式。

=QUERY('2 - 添加原始 AZ 付款报告'!A8:AA4005,"select C WHERE ((C = 'Refund') AND AA 0 AND B = 13742433281) OR C = 'Order' OR C = '调整' OR C = 'Chargeback Refund'",0)

13742433281 是硬编码模式。理想情况下,如果它可以与 Google 表格查询一起使用,我会用 Mode 函数替换该值。

这是一个指向 Google 表格的链接,其中包含我现在使用的查询以及带有硬编码模式的所需查询。基本上我想用模式公式替换硬编码的模式值。

https://docs.google.com/spreadsheets/d/126IfGStccfzKLGW7dH-7TpbMbPSZXW3Of69RZ61jb8Q

非常感谢任何帮助。

  • 约翰

【问题讨论】:

    标签: google-sheets-formula google-sheets-api


    【解决方案1】:

    查看您的 Google 表格,“查询数据”标签,单元格 D2,您可以将 13742433282 替换为 "&MODE('Raw Data'!B:B)&"

    另外,我不确定您的 OR 语句是否需要括号,因为查询中有多个 ORAND。我认为你可能会更好地简化它:

    =QUERY('Raw Data'!A2:D400,"select D WHERE B = "&MODE('Raw Data'!B:B)&" AND (C like 'Refund' OR C like 'Order' OR C like 'Adjustment' OR C like 'Chargeback Refund')",0)

    这基本上得到了 B 始终是 'Raw Data'!B:B 模式的行,

    C 的值为以下任意一种:

    退款、订单、调整、退款退款

    如果您希望查询仅查找 C 中存在值的行,则可以改用它:

    =QUERY('Raw Data'!A2:D400,"select D WHERE B = "&MODE('Raw Data'!B:B)&" AND C IS NOT NULL ",0)

    此外,您可能不需要将范围限制为D400。可能是'Raw Data'!A2:D

    【讨论】:

    • 非常感谢!这非常有效,将大大简化我们正在实施的流程。您关于简化公式的建议也非常有效。你在这里教会了我很多东西,我很感激。
    猜你喜欢
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多