web-dev-qa-db-ja.com

フォームからデータを収集するGoogleスプレッドシートの列で検索をフィルタリングするにはどうすればよいですか?

列内のデータの多基準検索を実行したい-チェックボックスのデータが含まれています(複数のオプションが選択されています)。

私がやろうとしていることをより明確に理解するために、以下のスクリーンショットはフォームの質問です

enter image description here

フォームからのデータは、以下のようなシートに保存されます。

enter image description here

したがって、ここでの私の懸念は、「Commercial」を含む行を検索/フィルタリングしたい場合、Commercial、Engineeringの行が表示されないことです。それは間違いなく効果的な検索ではありません。

この問題についてどのように対処できるかについてのアドバイスをいただければ幸いです。場合

7
lily

A列からP列の回答シートにフォームがあり、D列に複数の選択肢があるとします。「Commercial」という単語でデータをフィルタリングする場合は、次のいずれかを実行できます。

=filter(A2:P, regexmatch(A2:P, "Commercial"))

またはquery()を使用します:

=query(A2:P, "select * where B contains 'Commercial' ")

注:ロケールによっては、数式を機能させるためにコンマをセミコロンに変更する必要がある場合があります。

私はそれが役立つことを願っていますか?

10
JPV

JPVの回答に続いて、2つのカテゴリにまたがる場合にクエリを役立つようにする行を作成しました。チェックボックスの例の誰かがすべてのオプション(IT、HR、コマーシャル、エンジニアリング)を選択したとしましょう。 JPVが言ったように、セルB1のドロップダウンオプションボックスを使用して、すべてのオプションを使用してセルを作成したこと。

次に、ITとコマーシャルを選択したすべての人をフィルタリングして表示します。そのためには、ドロップダウンオプションボックスが入った2番目のセルを作成します。たとえばC1です。すると、クエリは次のようになります。

=query(A2:P, "select * where B contains '"&B1&"' and B contains '"&C1&"' ")
3
Paula Leiva PiE
=FILTER(MOBILE!A2:E2000, ISNUMBER(SEARCH(A1,MOBILE!A2:A2000)))

SEARCH関数は、範囲(A1)内の検索された文字列内の検索された単語(MOBILE!A2:A2000)の位置の番号を返します。

検索結果が数値(ISNUMBER)の場合、フィルターは範囲MOBILE!A2:E2000からのTRUE行の結果を返します。

1
Ori O