1

同じドキュメント内の他の 3 つのクエリを実行し、列 G に含まれる一連の行を選択するシートがありますnoyes理想的には、 orという単語を含まないクエリであることをお勧めしますYes。次のメカニズムをすべて使用してみました。

  • そうでない場合 (G には「はい」が含まれます)
  • そうでない場合 (G には「es」が含まれます)
  • そうでない場合 (G は '[yY]es' に一致)
  • ここで、G には「いいえ」が含まれます

どちらを選んでも、次の 2 つの問題のいずれかに遭遇します。

問題番号 1 は、値が 1 つしか存在しないためにクエリの一部が失敗することです。つまり、はあるYesが がないためyes、出力は になり#VALUEます。これは、エンド ユーザーがシートに何を入力するかを制御できないため、両方のシナリオを許可しようとしているため、問題があります。

または、はるかに悪い問題番号2。具体的に言うと、 G に含まnoれる行の 1 つが含まれるすべてを選択すると、表示される行の 1 つが含まれます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'"))})

ここで何が間違っていますか?

4

2 に答える 2

13

ここでの特定の問題は、クエリの範囲でした。しかし、質問に対する実際の答え (not like / not contain をクエリするにはどうすればよいか) は異なります。

クエリリファレンスでこれを見つけることができませんでしたが、答えは where の直後に置くことではありません:

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

さらに改善するには、(G) を下げて、「はい」と「はい」を除外する必要があります。

于 2016-03-23T00:19:59.103 に答える
0

問題はクエリ範囲です。ラベルではなくデータを含む Row2 を開始します。デフォルトでは、クエリの最初の行は出力の見出しとして扱われます (したがって、選択基準は適用されません)。見出しを除外するようにクエリを調整するだけで修正できることを願っています。してみてください:

=QUERY(Sheet1!A2:I500,"Select * where G = 'no'", 0)
于 2015-02-04T19:46:17.913 に答える