複数の人や部門ごとに分かれたスプレッドシートのデータを、1つにまとめて集計したい!
そんなときに便利なのが、QUERY関数 × 複数範囲の連結です。
今回は、各担当者のシートにある点数データをまとめ、1セルで全体のデータベースを作成する方法をご紹介します。
目次
集計対象のシート構成
今回は下記のように、同一シート上に複数のデータグループが横に並んでいる構成で解説します(本来は各人が別シートを持っている前提)。
例:
A列〜C列
→ 一花さんE列〜G列
→ 二乃さんI列〜K列
→ 三玖さんM列〜O列
→ 四葉さんQ列〜S列
→ 五月さん

QUERY関数でデータをまとめて取得
次のように QUERY
関数で各人の範囲をまとめて取得し、それをさらに一つの QUERY
で囲むことで全体を集約できます。
=QUERY({
QUERY('シート1'!A2:C6);
QUERY('シート1'!E2:G6);
QUERY('シート1'!I2:K6);
QUERY('シート1'!M2:O6);
QUERY('シート1'!Q2:S6)
}, "")
ポイント:
{ … ; … }
で縦方向に連結- 個別
QUERY
で構造をそろえることで、1つに集約しやすくなります - 最後の
""
でフィルター条件なしの全件取得
集計結果のイメージ
集約された結果がこちら
各人のデータが1つの表にまとまります。

応用:合計行の追加やピボット集計も可能
例えば、以下のように各人の点数の合計行を追加したり…
もしくは、科目別×名前ごとのピボット集計を行うこともできます
=QUERY(全体データの範囲, "select B, sum(C) group by B pivot A", 0)
結果:

まとめ
やりたいこと | 関数でできること |
---|---|
各人のデータをまとめたい | QUERY + {} で連結 |
縦並びで統一表示にしたい | ; で範囲連結 |
科目や人別に集計したい | QUERY + group by / pivot |
合計などを加えたい | ARRAYFORMULA や SUM を組み合わせて |
1セルに書くだけで、分散していたデータを1つに統合できるのは非常に強力です。
勤怠、売上、点数、工数など、「複数人・複数シート」運用のどんな場面にも応用できます!
Tips:各人が別シートでデータを管理している場合は、IMPORTRANGE
と組み合わせれば、外部ファイルからの統合も可能です。