私はクエリに問題があり、数値セルとテキストセルがあり、すべてが空の場合は取得したくないが、セルのいずれかが空でない場合はその行を取得したい。
is not Null
は数値セルに使用され、<>''
はテキストセルに使用されることを知っています。
例えば:
元のデータテーブルでは、テーブルは次のようになっているとします。シートは「データ」と呼ばれます。
Column | A | B | C | D |
Cell Type | Number | Text | Number | Text |
Row1 | 7 | Stuff | 5.33 | Sweet |
Row2 | 8 | World | | Hello |
Row3 | 9 | | | |
Row4 | | | | |
Row5 | | | 9.77 | |
Row4以外のすべての行を取得できるようにしたい
このクエリを使用すると、セルタイプで正しく機能するはずです。正しい?
=Query(Data!A:D, Select D,B,A,C Where A Is Not Null OR B <>'' OR C Is Not Null OR D <>'')
このクエリと同じ原理を使用するスプレッドシートの例にこれを適用しました。それは私のシートの2つでのみ動作することを除いて。選択するデータがあまりないシート。クエリはヘッダーのみを取得します。私の考えでは、DonSmithPoolと呼ばれる2番目のタブについては、テキストコメントのある行のいくつかを取得する必要があり、TeachPoolと呼ばれる最後のタブについては1行を取得する必要があります。
クエリはヘッダーのみを取得します。
いいえ、いくつかの行も取得します。下にスクロールします。そこにあります。あなたがこれを打っている理由はここにあります。
is not null
はこれらに対して常に真であり、テーブル全体を取得します。残念ながら、空の列の型を宣言する方法はないようです。これは、「文字列列にnullがない」動作と組み合わされて、人々につながります null以外に夢中になる 。
あなたの正気を保つために、
filter
コマンドを使用します。フィルターの出力をクエリに入力して、両方の最適な機能を組み合わせることができます。