こんにちは!おまかせ事務代行YPP 伊澤です。
スプレッドシートの使える関数シリーズ3つ目はQuery関数を紹介します!

Query関数は、例えば表のデータを絞り込む場合、フィルタ機能を使用することが多いと思います。
でも行が増えるたびにフィルタを付け直す作業は面倒だったりしますよね^^;
そしてデータを間違って書き換えてしまわないか不安という気持ちもあります。。

そんなときにお勧めなのがQuery関数です。
数式を一度設定してしまえば自動更新をしてくれるので、データを誤って触る心配もないです。

いろいろ使えそう!!?Query関数でできること

Query関数でできること、慣れてしまえばやれることは沢山ありそうです!
ざっと出来ることを紹介しますね^^

①列の順番を入れ替える
元のデータをコピペ・・・という手間なく列の順番を変えられます

数式は =QUERY(範囲,”select 列”)

今回はA列とB列を入れ替えたいので以下のようにします。

=QUERY(A1:C20,”select B,A,C”)

特に列の入れ替えを行わない場合は

=QUERY(A1:C20,”select *”) とします。

②データの抽出をする
列の順番を入れ替え、且つデータの抽出もできます

数式は =QUERY(範囲,”select 列 where 抽出する列=’抽出したい文字列'”)

今回はAとB列を入れ替えて、C列の「伊澤」だけを抽出したいので以下のようにします。

=QUERY(A1:C20,”select B,A,C where C=’伊澤'”)

上記と同様に、列の入れ替えを行わない場合は

=QUERY(A1:C20,”select * where C=’伊澤'”) とします。

③別のシートへ表示させる

①②では、同じシートにデータを抽出して反映させましたが、別のシートへ反映させることも出来ます。

範囲の表記を変えることで別シートへデータを反映させることが出来ます

数式は =QUERY(‘シート名’!範囲,”select 列 where 抽出する列=’抽出したい文字列'”)

今回、反映元のシート名が「シート1」なので、以下のようにします。

=QUERY(‘シート1’!A:C,”select B,A,C where C=’メンバー'”)

また、範囲を「A1:C20」ではなく「A:C」にすることで列全体を反映するので、元データに新しい行が追加されれは自動的に更新されます。

④別のスプレットシートへ表示させる

「使えるのは同じスプレッドシートだけ??」と思った方もいるかもしれませんが、前回お伝えしたImportrange関数と組み合わせることで別のスプレッドシートへデータを反映させることができます。

これができたら、例えばYPPの稼働実績を予め自分だけが見られるシートへ反映させておいて、自分の稼働分だけ集計なんかもできちゃいます!

Query関数とImportrange関数を組み合わせて実際のデータを別のスプレットシートへ反映させています。

数式は
=Query(IMPORTRANGE(“スプレッドシートキー”,”!A10:G”),”select Col1,Col2,Col4,Col5,Col7 where Col4 =’YPP 事務所'”)

範囲を「A10:G」としているのは実際の表が10行目から始まっているためです。
「A:G」と表記しても問題ないですが、表と関係ない文字が1行目に集約されてしまうので、綺麗に表示させたい場合は表が始まる行数を入力することをおすすめします!

また、列の表記も先ほどとは異なっていることにお気づきでしょうか?
「select Col1,Col2,Col4,Col5,Col7」とさっきまで「A,B,C・・・」としていたのに違います^^;

はっきりした理由はわかりませんが、Importrange関数を組み合わせるときは列を「A,B,C・・・」だとうまくいかず、「Col1,Col2,Col3,Col4・・・」という表記でうまく反映することが出来ました。

Query関数を活用しよう!

若干とっつきにくいかもしれませんが、慣れればいろんな使い方が出来ると思います!
まずは稼働実績表をご自身のスプレッドシートへ反映するところから試してみてください^^

スプレッドシートを使いこなして、業務効率化を目指しましょう☆

引用

https://pumpuppineapple.com/query5/

合わせて読んでください^^

<YPPがLINE公式アカウントに登場!>
お得な情報を受け取るには、以下のリンクから友だち追加してください。