スキルアップを始める!

【スプレッドシート】複数のシートのデータを連結してひとつのシートにまとめる(配列式・QUERY関数)

Googleスプレッドシート
Googleスプレッドシート
この記事は約4分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

スプレッドシートで複数のシートのデータを連結して一つのシートにまとめる方法です。

配列式を使う

={'2024年1月'!A2:D10;'2024年2月'!A2:D10}

この式 ={'2024年1月'!A2:D10;'2024年2月'!A2:D10} は、Googleスプレッドシートで使用される配列式の一種です。

この具体的な式の意味は次の通りです。

  1. '2024年1月'!A2:D10: これは、「2024年1月」という名前のシートからA2セルからD10セルまでのデータ範囲を参照しています。シート名に空白や特殊文字が含まれる場合、シングルクオート(’)で囲む必要があります。
  2. '2024年2月'!A2:D10: これは、「2024年2月」という名前のシートから同じくA2セルからD10セルまでのデータ範囲を参照しています。
  3. {};: 中括弧 {} は、複数の範囲や配列を一つの配列として結合するために使用されます。セミコロン ; は、配列を縦方向(行方向)に結合することを意味します。つまり、最初の範囲の下に二番目の範囲を続けて配置します。

総合すると、この式は「2024年1月」シートのA2セルからD10セルまでの範囲と、「2024年2月」シートの同じ範囲を縦方向に結合して一つの配列として表示することを意味しています。

これにより、2つの異なる月のデータを連続して表示することが可能になります。

ただし、この方法だと行数(D10など)を指定しておく必要があります。行末までとしてA2:Dといった範囲にした場合、もし空白行がある場合、空白行も含まれてしまいます。

={'2024年1月'!A2:D;'2024年2月'!A2:D}

QUERY関数を使用する

QUERY関数を使用する: QUERY関数はデータベースのような機能を提供し、複数のシートからのデータを結合してクエリすることができます。

例えば、QUERY({Sheet1!A2:E; Sheet2!A2:E}, "SELECT * WHERE Col1 is not null")のように使用できます。

=QUERY({Sheet1!A2:E; Sheet2!A2:E}, "SELECT * WHERE Col1 is not null")

{Sheet1!A2:E; Sheet2!A2:E}

{Sheet1!A2:E; Sheet2!A2:E}: これは、Sheet1 と Sheet2 の二つのシートからデータを結合しています。Sheet1のA2セルからE列まで、そしてSheet2のA2セルからE列までのデータ範囲を指定しています。

{}

{} はこれらの範囲を一つの配列として結合するために使用され、セミコロン ; はこれらの範囲を縦方向(行方向)に結合します。

QUERY 関数

QUERY(データ範囲, “クエリ”): QUERY 関数は、指定したデータ範囲に対してSQL様式のクエリを実行します。この関数はデータの抽出、並べ替え、集計など、様々な操作が可能です。

“SELECT * WHERE Col1 is not null”: ここでのクエリは、結合したデータ範囲から、1列目(Col1)が空でない(nullでない)すべての行を選択するように指示しています。SELECT *はすべての列を選択することを意味し、WHERE Col1 is not nullは1列目にデータが存在する行のみをフィルタリングする条件です。

総合すると、この式はSheet1とSheet2のデータ範囲(それぞれA2からE列まで)を縦に結合し、その結果から1列目に何らかのデータ(空でない値)が含まれている行をすべて選択して表示することを意味しています。これにより、2つのシートのデータを統合し、空の行を除外した状態でデータを把握することができます。

Col1(第1列)に値が入っている行のみを選択

QUERY({Sheet1!A2:E; Sheet2!A2:E}, “SELECT * WHERE Col1 is not null”)のように使用することによる主なメリットは、空白行を無視してデータを抽出できる点です。

このクエリは、Sheet1とSheet2からデータを連結し、Col1(つまり第1列)に値が入っている行のみを選択しています。これにより、以下のような利点が得られます。

データのクリーンアップ: 空白行が多いシートでも、関連するデータだけを抽出し、無関係な空白行を無視できます。これにより、データの整理が容易になり、後続の分析や操作が簡単になります。

以上のように、QUERY関数を用いることで、複数のシートからのデータを効率的かつ柔軟に処理し、必要な情報のみを抽出することが可能になります。

まとめ

これらの方法を使用することで、異なるシートのデータを一つのシートにまとめることができます。ただし、データの量やシートの構造によっては、最適な方法が異なる場合がありますので、具体的な状況に応じて適切な方法を選択することが重要です。

URLをコピーしました!