スキルアップを始める!

【スプレッドシート】IMPORTRANGE関数でデータを縦に結合する方法

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

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

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

IMPORTRANGE関数を使用してスプレッドシート間でデータを縦に結合するには、IMPORTRANGE関数を使ってインポートし、QUERY関数またはARRAYFORMULAを使用して縦に結合することで、複数月のデータを一つのシートにまとめることができます。

結合手順

例えば、各月の売上データのシートがあった場合、IMPORTRANGE関数を使ってインポートし、QUERY関数またはARRAYFORMULAを使用して縦に結合することができます。

Screenshot
Screenshot

QUERY関数を使用した方法

=QUERY({
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/JanuarySales_ID", "January!A1:C5");
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/FebruarySales_ID", "February!A1:C5")
}, "SELECT * WHERE Col1 IS NOT NULL")

ステップ1: IMPORTRANGE関数でデータをインポート

IMPORTRANGE関数は、別のスプレッドシートからデータを取り込むために使用されます。この関数の基本構文は次のとおりです。

=IMPORTRANGE("スプレッドシートURL", "シート名!範囲")

ここで、スプレッドシートURLはデータを取り込む元のスプレッドシートのURLを指し、シート名!範囲はそのスプレッドシート内の具体的なデータ範囲を示します。

この式では、1月と2月のスプレッドシートからデータをインポートしています。

1月のデータ:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/JanuarySales_ID", "January!A1:C5")

2月のデータ:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/FebruarySales_ID", "February!A1:C5")

ステップ2: IMPORTRANGE関数の結果を縦に結合

IMPORTRANGE関数の結果を縦に結合するために、複数のIMPORTRANGEを中括弧 {} で囲んで配列形式で渡します。これにより、各月のデータを1つの配列として扱うことができます。

ステップ3: QUERY関数でデータをフィルタリング

QUERY関数は、この結合されたデータ配列に対してSQL風のクエリを実行し、特定の条件に基づいてデータをフィルタリングするために使用されます。

基本構文は次のとおりです。

=QUERY(データ範囲, "クエリ")

ここで、データ範囲は対象となるデータの範囲で、クエリはSQLのSELECT文に似た形式でデータのフィルタリング条件を指定します。

この場合のクエリは次のとおりです。

"SELECT * WHERE Col1 IS NOT NULL"

これは、1列目(Col1)がNULLでないすべての行を選択するという意味です。

最終式

このすべてを組み合わせた最終的な式は次のとおりです。

=QUERY({
IMPORTRANGE("https://docs.google.com/spreadsheets/d/JanuarySales_ID", "January!A1:C5");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/FebruarySales_ID", "February!A1:C5")
}, "SELECT * WHERE Col1 IS NOT NULL")

この式の処理は次のようになります。

  1. 1月のスプレッドシートからデータをインポート。
  2. 2月のスプレッドシートからデータをインポート。
  3. 1月と2月のデータを縦に結合。
  4. 結合されたデータに対して、1列目(Col1)がNULLでない行をすべて選択。

これにより、1月と2月の売上データが一つのシートに縦に結合され、必要なデータだけが表示されます。

Screenshot
Screenshot

ARRAYFORMULAを使用した方法:

=ARRAYFORMULA({
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/JanuarySales_ID", "January!A1:C5");
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/FebruarySales_ID", "February!A1:C5")
})

ARRAYFORMULAの場合は、シンプルに配列結合されます。

Screenshot

まとめ

Googleスプレッドシートで複数のシートからデータをインポートして縦に結合する方法について解説しました。

覚えておくと便利ですので、ご参考ください。

URLをコピーしました!