スプレッドシートで別シートにデータを抽出する方法

spreadsheet60のサムネイル

スプレッドシートを使用していると「別のシートにデータを抽出したい」と思うことがよくあります。特に大量のデータを扱う場合、特定の条件に合ったデータを自動的に抽出できれば業務効率が大幅に向上します。

この記事ではGoogleスプレッドシートで別のシートにデータを抽出する具体的な方法を詳しく解説します。基本的な関数から応用的なフィルタリング方法までを説明するので、初心者から中級者まで役立つ内容になっています。

別シートにデータを抽出する主な方法

スプレッドシートで別シートにデータを抽出する方法は主に以下の3つです。

  1. IMPORTRANGE関数を使用する
  2. FILTER関数を使用する
  3. QUERY関数を使用する

これらの関数を使えば別のシートからリアルタイムにデータを取得したり、特定の条件に基づいてデータを抽出したりできます。それぞれの方法について具体的な例を挙げながら解説します。

IMPORTRANGE関数を使用してデータを抽出する方法

IMPORTRANGE関数とは?

IMPORTRANGE関数は別のスプレッドシートからデータをインポートする関数です。
特に異なるスプレッドシートにあるデータを参照・表示したいときに便利です。

IMPORTRANGE関数の基本構文

=IMPORTRANGE("スプレッドシートのURL", "シート名!範囲")
  • スプレッドシートのURL
    • インポート元のスプレッドシートのURLを指定
  • シート名!範囲
    • データをインポートする範囲を指定

IMPORTRANGE関数の使用例

例えば「データ集計」というスプレッドシートから「売上データ」シートのA1~C10のデータを別シートに抽出する場合、次のように記述します。

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXXXXXX", "売上データ!A1:C10")

IMPORTRANGE関数の注意点

  • 初めてIMPORTRANGEを使用するときは「アクセス権の許可」が必要になる
  • インポート元のデータが変更されると、リアルタイムで自動更新される
  • インポート元スプレッドシートが削除されるとデータが消える

FILTER関数を使用してデータを抽出する方法

FILTER関数とは?

FILTER関数は、特定の条件に合致したデータだけを抽出できる関数です。
同じスプレッドシート内でデータをフィルタリングして別シートに抽出するときに役立ちます。

FILTER関数の基本構文

=FILTER(範囲, 条件1, 条件2, ...)
  • 範囲
    • 抽出対象の範囲
  • 条件
    • TRUEまたはFALSEで返る条件

FILTER関数の基本構文

「売上データ」シートから「2025年1月以降」のデータだけを抽出する場合、次のように記述します。

=FILTER(売上データ!A2:C100, 売上データ!B2:B100 >= DATE(2025, 1, 1))
  • 売上データ!A2:C100:データ範囲
  • 売上データ!B2:B100 >= DATE(2025, 1, 1):条件(2025年1月以降のデータ)

FILTER関数の応用例

複数条件を指定することも可能です。
例えば2025年1月以降かつ売上金額が100,000円以上のデータを抽出する場合、次のように記述します。

=FILTER(売上データ!A2:C100, 売上データ!B2:B100 >= DATE(2025, 1, 1), 売上データ!C2:C100 >= 100000)

QUERY関数を使用してデータを抽出する方法

QUERY関数とは?

QUERY関数はSQLに似た構文を使ってデータを抽出する関数です。
高度なデータ操作が可能で、条件を細かく指定した抽出や並べ替えができます。

QUERY関数の基本構文

=QUERY(範囲, "クエリ", ヘッダー)
  • 範囲:抽出対象の範囲
  • クエリ:SQLに似た抽出条件
  • ヘッダー:ヘッダー行の数(通常は1)

QUERY関数の使用例

「売上データ」シートから「2025年1月以降」のデータだけを抽出する場合

=QUERY(売上データ!A2:C100, "SELECT A, B, C WHERE B >= DATE '2025-01-01'", 1)

QUERY関数の応用例

2025年1月以降で売上金額が100,000円以上のデータを抽出し、売上金額の高い順に並べる場合

=QUERY(売上データ!A2:C100, "SELECT A, B, C WHERE B >= DATE '2025-01-01' AND C >= 100000 ORDER BY C DESC", 1)

ARRAYFORMULAを使った応用

ARRAYFORMULA関数を使えばIMPORTRANGEFILTERと組み合わせてデータ抽出を自動化できます。

ARRAYFORMULAの基本構文

=ARRAYFORMULA(式)

FILTERと組み合わせた例

=ARRAYFORMULA(FILTER(売上データ!A2:C100, 売上データ!B2:B100 >= DATE(2025, 1, 1)))

実践的な使用例

特定の部署のデータを抽出

「営業部」だけのデータを抽出したい場合

=FILTER(売上データ!A2:C100, 売上データ!D2:D100 = "営業部")

複数の条件を満たすデータを抽出

「営業部」かつ「2025年1月以降」のデータ

=QUERY(売上データ!A2:C100, "SELECT A, B, C WHERE D = '営業部' AND B >= DATE '2025-01-01'", 1)

まとめ

スプレッドシートで別シートにデータを抽出する方法はIMPORTRANGEFILTERQUERYの3つを使いこなせば十分です。それぞれの特性を理解して状況に応じて使い分けることで、データ管理や集計がスムーズになります。

他にもOfficeソフトに関する記事を上げています。是非色々見てみてください。

最新記事
  • カテゴリー
  • 月別
  • Twitter

    ココナラでデザインを依頼する

    7000本の授業が見放題!社会人向けオンライン学習動画【Schoo(スクー)】

    Webデザイン業界特化のレバテック

    定額制で質問し放題【Web食いオンラインスクール】

    関連記事

    最新記事NEW

    CONTACTCONTACT CONTACTCONTACT

    お問い合わせ

    ご意見やお仕事のご依頼などは以下よりご連絡ください。

    情報入力

    内容確認

    完了

      お名前必須

      フリガナ必須

      メールアドレス必須

      お問い合わせ内容