query関数の基本#2 「select」
前回のおさらい
=query(データ,"処理",見出し)
"処理"
↓
"where 列='○○'" 指定列が○○の行を取り出す
e.g.
"where B = '漫画1'" B列が漫画1の行を取り出す
前回は「"処理"」の部分にwhereをいれて、指定したデータだけを取り出す処理をしました。
詳しくは以下にリンクを貼っておくので、そちらをご確認ください。
今回の内容
今回は、"select"についてまとめていきます。
"select"は、文字通り列を"選択"して表示する処理です。
書き方は以下のようになります。
=query(データ,"処理",見出し)
"処理"
↓
"select 列" 指定した列のみ表示
与えたデータの中に、表示する必要のない列がある場合に使います。
前回同様、本棚と漫画に例えると、本棚の「ID」「タイトル」「巻数」のデータをquery関数に与えて処理し、タイトルと巻数だけ表示したい場合です。
下に例を書きます。
データ(本棚)の、A列に「ID」、B列に「タイトル」、C列に「巻数」
"select B" B列のタイトルのみ表示
"select B,C" B列のタイトルとC列の巻数を表示
"select C,B" C列の巻数とB列のタイトルを表示(列を入れ替えて表示)
複数列を表示したい場合は「,(カンマ)」で区切ります。
"select"の後に「*(アスタリスク)」をつけ、"select *"にすることで、全列表示になります(全列表示なら"select"を省略してしまっても問題ありません)。
また、指定する順番で、表示する列を入れ替えることができます。
今回も実際の書き方と処理を見てもらうためにシートを作成したので、リンクを貼っておきます。
"select"の欠点は、表示する列が左詰めになってしまうことです。
もしかしたら、左詰めにならない方法もあるのかもしれないですが、筆者はいつも関数を書き込むセルで調整してしまいます。
応用
前回の"where"と今回の"select"は併用することができます。
書き方は以下の通りです。
=query(データ,"処理",見出し)
"処理"
↓
"select 列1 where 列2 ='○○'" 列2が○○の行の列1を表示
e.g.
"select B,C where B ='漫画1'" B列が漫画1のB列とC列を表示
例を、下のリンク先で処理してみました。
この方法を使うと、集計したデータから必要なデータのみを抽出することができます。
query関数で抽出してきたデータは、他の関数の処理にも使えます。
まとめ
・"select"で、表示する列を"選択"できる。
・列を入れ替えて表示可
・"where"との併用で、必要なデータだけを抽出できる。
・欠点は、左詰めになってしまうこと。
次回は、並び替えのorder byについて触れたいと思います。
ありがとうございました。