查询不包含

时间:2015-02-04 14:50:18

标签: google-sheets google-sheets-query

我有一张工作表在同一文档中查询其他三个工作表,并选择G列包含no的一堆行。理想情况下,我希望它是一个不包含单词yesYes的查询。我尝试过使用以下所有机制:

  • 不在哪里(G包含'是')
  • 不在哪里(G包含' es')
  • 不在哪里(G匹配' [yY] es')
  • 其中G包含' no'

无论我选择哪一个,我都会遇到两个问题之一:

问题1是查询的一部分失败,因为只存在其中一个值。即有Yes但不是yes,这导致#VALUE的输出。这是有问题的,因为我试图允许两种情况,因为我无法控制这将输入到工作表中的最终用户。

或问题2更糟糕。当我特意说选择G包含no的所有行时,其中一行包含yes。请注意,这也适用于其他一些机制,但我会特别认为no应该阻止这种情况,而不是。

我正在使用的完整查询是:

=ARRAYFORMULA({QUERY(Sheet1!A2:I500, "Select A, B, C, D, E, F, G, H, I where G contains 'no'");(QUERY(Sheet2!A2:I500, "Select A, B, C, D, E, F, G, H, I where G contains 'no'"));(QUERY(Sheet3!A2:I500, "Select A, B, C, D, E, F, G, H, I where G contains 'no'"))})

我在这里做错了什么?

2 个答案:

答案 0 :(得分:9)

这里的具体问题是查询范围。但问题的实际答案(我如何查询不喜欢/不包含)是不同的。

我无法在query reference中找到这个,但答案是在地点之后不要直接:

"Select A, B, C, D, E, F, G, H, I where not G contains 'yes'"

要进一步改进,您应该降低(G)以排除'是'并且'是'

答案 1 :(得分:0)

问题是查询范围。它启动一个包含数据而不是标签的Row2。默认情况下,查询的第一行被视为输出的标题(因此不会对其应用选择条件)。希望修复只是调整查询以排除标题。请尝试:

=QUERY(Sheet1!A2:I500,"Select * where G = 'no'", 0)