見出し画像

他のスプレッドシートファイルを参照してQUERY関数を用いる(その2)[QUERY関数][Googleスプレッドシート]

前回、QUERY関数を使用する際にIMPORTRANGE関数を用いる記事を書きました。

今回は「他のスプレッドシートファイルにある過去三年間の売上実績を参照し集計したい」というケースを見てみましょう。

月別/営業部別の売上額のデータベースがあり、それが各年度ごとにシート別に分かれているとします。

集計用の別スプレッドシートを用意し、まずQUERY+IMPORTRANGE関数を用いて過去三年間の売上実績データベースを1つのシートにまとめて参照しましょう。

=QUERY({IMPORTRANGE("スプレッドシートID","2019年度!A:F");
IMPORTRANGE("スプレッドシートID","2020年度!A2:F");
IMPORTRANGE("スプレッドシートID","2021年度!A2:F")
},"select * where Col1 is not null")

ここでは3つのシートを参照するので、IMPORTRANGE関数も3回用います。 参照したデータは縦に結合したいので、それぞれをセミコロン()でつなぎ、さらに波カッコ({})で囲みます。空白行は除外したいのでwhere句の「is not null」を用います。

なおヘッダー行は1つのみ参照したいので、データ範囲はシート「2019年度」のみ「A:F」とし、他の2シートは「A2:F」と2行目からを範囲とします。

以上で、集計用のスプレッドシートに3シートを結合したデータベースが参照できました。

別シートを作成し、QUERY関数でこの3シートを結合したデータベースを参照するとさまざまな抽出・集計が実現できます。

またセミコロン()と波カッコ({})を用いて範囲を縦結合する手法はさまざまな場面で活躍してくれるのでおススメです。


※2022年9月に技術同人誌「会社員がVLOOKUPの次に覚えるQUERY関数超入門」を出版いたしました。


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