【スプレッドシート】複数シートのデータを一つにまとめたい

たけだ

この記事では、スプレッドシートの複数シートにまたがるデータを関数でひとつにまとめる方法をご紹介します。

💡この記事でわかること
  • 複数シートにまたがるデータを関数でひとつにまとめる方法
  • Query関数の基本的な使い方

データをまとめる

このような「営業本部」、「開発本部」の2つのシートにデータを分けて管理している場合を想定します。

関数

=QUERY({'営業本部'!A2:F;'開発本部'!A2:F},"where Col1 is not null")

この関数を新しく作成したシートに書き込みます。

すると、営業本部、開発本部、二つのシートのデータがひとつにまとまった形で引用され表示されました。

たけだ

関数でデータをまとめているので、営業本部・開発本部シートの変更がすぐに反映されます

Query関数の解説

構文

QUERY(データ, クエリ, [見出し])

https://support.google.com/docs/answer/3093343?hl=ja

シンプルな例

QUERY(A1, "SELECT A")

例ではA1セルを参照のデータとして、そのまま関数を記入したB1セルに表示しています。

データにはA:Bのようなセル範囲指定、IMPORTRANGE関数を使った他のスプレッドシートのセル指定もできます。

クエリには「Google Visualization API のクエリ言語」を指定します。

ぴよこ

クエリは、複雑でちょっと難しそうですね・・・

よく使うQuery関数

クエリを自分でくみ上げるのは時間がかかるので、よく使うパターンをいくつか紹介します。

パターン1 フィルタをかける

=QUERY(A2:F9,"where F='法人チーム'")

パターン2 集計(SUM)する

=QUERY(A2:F9,"select D,sum(C) group by D")
集計
avg平均を集計
count個数を集計
max最大値を集計
min最小値を集計
sum合計を集計

パターン3 複数シートを参照する

=QUERY({'営業本部'!A2:F;'開発本部'!A2:F},"where Col1 is not null")

外部のシートを集計するときは「A、B」などの列指定ではなく、「Col1、Col2」のような指定方法になるのでご注意ください。

パターン3 別スプレッドシートのデータを参照する

=QUERY(IMPORTRANGE("シートID","シート1!A:F"),"where Col1 is not null")

シートIDとは、参照したいスプレッドシートのURLの青く選択した部分です。

IMPORTRANGE関数でのデータ参照のために、アクセス許可を事前にする必要があります

このように他のスプレッドシートのデータをQuery関数を使ってデータの集計ができるのが強みです。

まとめ

たけだ

以上、Query関数の使い方でした。

最後まで見てくれてありがとうございました!

今回紹介したQuery関数はピボットやフィルタを使わずとも、高度なデータ集計が出来る便利な関数です。最初は複雑なクエリなどで戸惑うかもしれませんが、今回ご紹介したような例を元にカスタマイズを加えて徐々に慣れていくようにしましょう。