見出し画像

query関数の基本#1「WHERE」

queryは、検索エンジンでも使われている、「データベースに対しての処理要求」です。

どういうこと?と思った方のために、簡単に説明すると、「本棚からこの漫画を取り出して」というような処理です。

スプレッドシートでは、こういった処理をquery関数で行うことができます。


書き方

初投稿の記事でも記載しましたが、書き方は以下の通り。

=query(データ,"処理",見出し)

データは必須です。この部分が「本棚」です。


"処理"は、ほぼ必須ですが、省略すると与えたデータを何の処理もせず、そのまま表示します。処理内容をここで指示し、「どの漫画を取り出すか」の部分になります。"処理"の指示は、""(ダブルクォーテーション)で囲うのが必須です。


見出しについては省略可です。後ほど説明します。



今回の内容

今回は「"処理"」の部分で指示できる処理について、"where"の説明をします。

"WHERE 列='○○'" 列が○○の行を表示

e.g.
"WHERE B='漫画1'" B列が漫画1の行を表示
"WHERE C >= '3'" C列が3以上の行を表示


query関数で、データを扱うときは、数字でも文字でも''(シングルクォーテーション)で文字列として認識させてあげてください。

セル参照で流動的にデータの検索をかけることもできるので、基本編が終わったら、記事にまとめたいと思います。

実際の書き方と処理に関しては、見てもらった方が早いと思うので、以下にリンクを貼っておきます。

水色のセルのみ関数が入力されています。


見出しの部分ですが、与えたデータに見出しが含まれている場合は、その行までの数字を入力し、query関数に「ここまで見出しだよ~」と教えてあげてください。

筆者がqueryを使うときは、見出しを含めずにデータを与えて処理するので省略してしまいますが。。。


また、NG例もリンクの先に入力しました。

この関数の欠点でもありますが、query関数がデータを表示する範囲内のセルにデータが入力されていると、関数は上書きする力を持っていないので「表示できないよ~」とエラーになってしまいます。

複数の人と共有して使用するシートの場合は、範囲に保護をかける等で編集できないようにしておくと良いです。


今回はここまでにしようと思います。

わかりづらかったらすみません。

簡単なことから少しづつ発展させていく予定なので、皆さんも簡単なデータを用意して試してみてください!

質問や補足、指摘があれば是非よろしくお願いします!





この記事が気に入ったらサポートをしてみませんか?