こんにちは!
もうすぐ年度がかわりますが、引き続きスプレッドシートを多用しそうで嬉しいtknriaです。
以前、スプレッドシートのデータを他のスプレッドシートで参照する関数としてIMPORTRANGE関数をご紹介しました。
今回は、あるデータを参照して、条件付きで引用してくる、という関数を紹介します。
Query関数を使ってみよう
その関数はQuery関数です。
例えばスプレッドシートA内のsheet1の範囲A1:C3のデータを、同じA内のsheet2で参照することを想定します。
これを行うためには、sheet2のセルに、
=Arrayformula('sheet1'!A1:C3)
と入力すれば良いです。
同様に、Query関数を使うと、
=Query('sheet1'!A1:C3)
となります。
これだけなら、Query関数の特徴はそれほど目立たないのですが、ここからが本領発揮です。
Query関数を使って指定した列だけ抜粋する
上記の例で、A列とC列だけを抜きだしたい場合、
=Arrayformula('sheet1'!A1:A3)
=Arrayformula('sheet1'!C1:C3)
と分けて抽出する必要があります。
これが、Queryを使うと、
=Query('sheet1'!A1:C3, "select A,C")
と1つの関数で書けてしまいます。
Query関数を使って条件に合う値をもつ列を行ごと抜粋する
具体例でいうと、営業マンが3人(D~Fさん)いて、それぞれの受注案件をリスト化していることを想定します。
ここから、Dさんの案件のみを抽出する場合、スプレッドシートのフィルタ機能を使うこともできますが、Query関数を使っても可能です。
sheet1のB列に担当営業の名前が入っているものとすると、
=Query('sheet1'!A1:C3, "where B='D'")
とすれば、Dさんの案件のみを抽出することができます。
億劫なあとがき
いかがでしたか。
Query関数でできることは他にもありますが、今日はここまで。