Google sheets 使用逻辑语句的googlesheets查询

Google sheets 使用逻辑语句的googlesheets查询,google-sheets,google-query-language,google-sheets-query,Google Sheets,Google Query Language,Google Sheets Query,我正在尝试从Google Sheets中的数据范围创建一个数据列表。我曾想过使用查询函数,但有了它,您似乎无法使用常规的逻辑语句 我知道这段代码是错误的,不起作用,但希望它能清楚地说明我想做什么 =Query(E2:E103, OR(AND(D2:D103=A$2,G2:G103=A$5),AND(D2:D103=A$3,G2:G103=A$5),D2:D103=A$1)) 在这段代码中,A$2、A$5、A$3和A$1都是相应单元格中的字符串变量,告诉逻辑语句要比较什么 如果有其他方法编写此函

我正在尝试从Google Sheets中的数据范围创建一个数据列表。我曾想过使用查询函数,但有了它,您似乎无法使用常规的逻辑语句

我知道这段代码是错误的,不起作用,但希望它能清楚地说明我想做什么

=Query(E2:E103, OR(AND(D2:D103=A$2,G2:G103=A$5),AND(D2:D103=A$3,G2:G103=A$5),D2:D103=A$1))
在这段代码中,
A$2
A$5
A$3
A$1
都是相应单元格中的字符串变量,告诉逻辑语句要比较什么

如果有其他方法编写此函数或其他函数来完成我想做的事情,请与我分享。

Basic case 构建查询逻辑的基本语法:

“其中F=”&A1&“”

  • 假设A1是字符串,F列中的值是字符串
  • 添加单引号,生成查询字符串:
    其中F='sample text'
逻辑 您的案例如下所示:

其中(A)或(B)或C
=>

其中(A1和A2)或(B1和B2)或C
=>


where(D='text1'和G='text2')或(D='text3'和G='text4')或D='text5'

有关在SQL字符串中而不是函数中构建逻辑的示例,请参见。因此,您希望选择E where(此处为伪代码,而非SQL)(D匹配A2和G匹配A5)或(D匹配A3和G匹配A5)或(D匹配A1)?因为你肯定可以建立这样一个查询。一个关键是要记住在你要比较的字符串周围的单引号中使用符号AND。看看你的陈述,它看起来可以缩短为(D匹配A1)或((g匹配A5)和((D匹配A2)或(D匹配A3))。就像查询(d2:g103,“Select*WHERE(D=”&$A$1&“”)或……“我根据您的建议编写了这个函数,
=Query(E2:E),“Select*WHERE((D='text1'和G='text2')或(D='text3'和G='text4')或D='text5')”
,但现在我遇到了一个错误,即“无法解析函数查询参数2的查询字符串:无列:D”。我假设这意味着我需要在查询中包括列D,但在我的情况下,我只希望输出列E,而不是D和E或两者之间的所有内容。查询中的第一个参数必须包括进入查询的所有部分(因此D2:G)。如果你只想拿出一些,那你会说选择E where…解释得很好@Max Makhrov,我喜欢你教授原则的方式,而不仅仅是给出代码。请尝试
=Query(D2:G,“选择E where…”