在 Google 表格查询中使用 "Mode" 函数

Use "Mode" Function within Google Sheets Query

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

这是我当前的公式。

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

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

这是一个 link 到 Google Sheet 的 Google Sheet,其中包含我现在正在使用的查询以及具有硬编码模式的所需查询。本质上,我想用模式公式替换硬编码模式值。

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

非常感谢任何帮助。

查看您的 Google Sheet、'Query Data' 选项卡、单元格 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.