• 公開日:

エクセルで表から抽出して表を作る方法

エクセルにて、表として様々なデータを管理しているという方も多いかと思います。しかし、データ量が多くなればなるほど、表全体の把握が難しくなってしまいます。

この記事では、エクセルに挿入されている既存の表から特定のデータだけを抽出して、新しく別の表を作成する方法をご紹介します。

しっかりとデータを把握するためにも、特定の条件に分けて複数の表を作成してみてください。

エクセルで表から抽出して表を作る方法

エクセルに既に入力されている表から特定のデータだけを抽出して、新しい表を作成する方法をご紹介します。

コピー&ペーストで表を作る

フィルター機能を使って特定のデータだけを抽出後に、コピぺで新しい表を作成する方法をご説明します。

フィルターボタンを押す

今回は上記画像の表から「担当者」が「伊藤」のデータだけを抽出した表を新しく作成します。

まず、フィルター機能を使って既存の表から「担当者」が「伊藤」のデータを抽出します。

表の任意のセル(例:A1セル)、②「データ」タブ、③「フィルター」の順に選択します。

フィルターボタンを押す

表にフィルターが設定されました。次に、データを抽出します。

B1セル右下の「▼」ボタンを押します。

抽出条件を指定する

プルダウンが開きました。

①「伊藤」にだけチェックマークを付けて抽出条件を指定し、②「OK」ボタンを押します。

抽出後の表をコピーする

データが抽出されました。次に、抽出されたデータをコピぺして新しく表を作成します。

見出しを含めた抽出データ(例:A1セルからC8セル)を選択し、Ctrl+Cでコピーします。

表を貼り付ける

新規で表を作成したいセル(例:A12セル)を選択し、Ctrl+Vで貼り付けます。

表を作成できた

コピーした抽出データを貼り付けることができました。

以上の操作で既存の表から特定のデータだけを抽出して、新しく表を作成できました。

元の表は改めて「データ」タブの「フィルター」を選択するなどしてフィルターの設定を解除し、正しい状態に戻しましょう。

スライサーでデータを抽出する

スライサーという機能を使うことで、表から特定のデータだけを抽出することもできます。詳しい方法については以下の通りです。

テーブルを選択する

今回はスライサーを使って、上記画像の表から「担当者」が「伊藤」のデータだけを抽出します。

まず、表をテーブルに変換します。

表の任意のセル(例:A1セル)、②「挿入」タブ、③「テーブル」の順に選択します。

OKボタンを押す

「テーブルの作成」ダイアログボックスが表示されました。

正しい表の範囲がダイアログボックスに記載されていることを確認してください。

問題なければ①「先頭行をテーブルの見出しとして使用する」にチェックマークを付け、②「OK」ボタンを押します。

スライサーの挿入を選択する

表がテーブルに変換されました。次に、スライサーを作成してデータの抽出を行います。

テーブルの任意のセル(例:A1セル)、②「テーブルデザイン」タブ、③「スライサーの挿入」の順に選択します。

挿入するスライサーを選択する

「スライサーの挿入」ダイアログボックスが表示されました。

抽出条件を検索したい項目(例:担当者)にチェックマークを付け、②「OK」ボタンを押します。

抽出条件を指定する

スライサーが作成されました。

抽出条件(例:伊藤)を選択します。

データが抽出された

指定した条件のデータのみ抽出できました。

抽出したデータを基に新しい表を作成したい場合には、「コピー&ペーストで表を作る」セクションの「STEP 4」以降と同様の操作を行います。

フィルターオプションで表を作る

フィルターオプションを使って特定のデータだけを抽出し、新しい表を作成する方法をご説明します。

条件を入力する

今回は上記画像の表から、フィルターオプションを使って「担当者」が「伊藤」のデータだけを抽出した表を新しく作成します。

まず、表の見出しを含めた抽出条件を任意の空白セルに作成します。

E1セルに「担当者」E2セルに「伊藤」をそれぞれ入力します。

詳細設定を選択する

抽出条件を作成できました。次に、フィルターオプションを使って表を新しく作成します。

「データ」タブ、②「詳細設定」の順に選択します。

↑ボタンを押す

「フィルター オプションの設定」ダイアログボックスが表示されました。

まず、「リスト範囲」に正しく表の範囲が認識されていることを確認してください。

間違っている場合には、「リスト範囲」の「↑」ボタンを押して表の範囲を選択し直しましょう。

問題なければ①「指定した範囲」を選択し、②「検索条件範囲」の「↑」ボタンを押します。

抽出条件を指定する

先ほど作成した抽出条件(例:E1セルからE2セル)を選択します。

ダイアログボックスに選択した範囲が正しく記載されていることを確認し、②「↓」ボタンを押します。

↑ボタンを押す

1つ前の画面に戻りました。

「抽出範囲」の「↑」ボタンを押します。

作成先を指定する

新規で表を作成したいセル(例:A12セル)を選択します。

ダイアログボックスに選択したセルが正しく記載されていることを確認し、②「↓」ボタンを押します。

OKボタンを押す

既存の表、抽出条件、新規表の作成先をすべて指定できました。「OK」ボタンを押します。

表を作成できた

フィルターオプションを使って既存の表から特定のデータだけを抽出し、新しく表を作成することができました。

FILTER関数で表を作る

FILTER関数を使って、特定のデータだけを抽出した表を新規作成する方法をご説明します。

ただし、FILTER関数はExcel 2021以降またはMicrosoft 365でのみ使用可能です。 Excel2019以前のバージョンでは使用できないため、ご注意ください。

条件を作成する

今回は上記画像の表から、FILTER関数を使って「担当者」が「伊藤」のデータだけを抽出した表を新しく作成します。

まず、抽出条件を任意の空白セルに作成します。

E2セルに「伊藤」を入力します。

また、FILTER関数では表の見出しは自動作成できないため、必要に応じて入力しておきましょう。

数式を入力する

抽出条件を作成できました。次に、数式を入力して表を新しく作成します。

新規で表を作成したいセル(例:A13セル)に「=FILTER(A2:C9,B2:B9=E2,"")」を入力し、Enterを押します。

FILTER関数の書式は、「=FILTER(配列,含む,[空の場合])」です。

「配列」には、見出しを除いた表の範囲(A2:C9)を入力します。

また、「含む」で抽出条件を検索したい範囲(B2:B9)と抽出条件(E2)を「=」でつなぐことで、データの抽出を行います。

そして「空の場合」に「""」を入力することで、抽出条件に当てはまらないデータは表示されなくなります。

FILTER関数の詳細については、以下の記事でご説明していますのでぜひご参考にしてください。

ExcelのFILTER関数の使い方|必要なデータを抽出する

表を作成できた

入力した数式によって、特定のデータだけが抽出されました。

FILTER関数を使って既存の表から特定のデータだけを抽出し、新しく表を作成することができました。

VBAで表を作る

VBAを使って、特定のデータだけを抽出した表を新規作成する方法をご説明します。

開発タブが表示されている

今回はVBAを使って設定を行います。

VBAの設定には「開発タブ」が必要ですが、デフォルトでは表示されていないため下記の記事を参考に設定を行いましょう。

エクセルの開発タブを表示する方法

visualbasicを選択する

それでは上記画像の表から、「担当者」が「伊藤」のデータだけを抽出した表を新しく作成するためのマクロを設定していきます。

「開発」タブ、②「Visual Basic」の順に選択します。

標準モジュールを選択する

「Microsoft Visual Basic for Applications」ダイアログボックスが表示されました。

「挿入」タブ、②「標準モジュール」の順に選択します。

コードを入力する

標準モジュールが挿入されました。以下のコードをコピーして貼り付けます

Sub ExtractItoEvents()
    Dim ws As Worksheet, newWs As Worksheet, r As Long, c As Long
    Set ws = ThisWorkbook.Worksheets("元のシート名")
    Set newWs = ThisWorkbook.Worksheets.Add
    newWs.Name = "新規シート名"
    ws.Rows(1).Copy Destination:=newWs.Rows(1)
    c = 2
    For r = 2 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
        If ws.Cells(r, c).Value = "抽出条件" Then
            ws.Rows(r).Copy Destination:=newWs.Rows(newWs.Cells(newWs.Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next r
End Sub

「元のシート」は既存の表が挿入されているシート名、「新規シート」は新規表の作成先シート名、「抽出条件」は抽出する条件(例:伊藤)にそれぞれ変更してください。

また、「ws.Rows(1)」は既存の表が何行目から作成されているのかを指定しています。2行目から表が作成されている場合は、「ws.Rows(2)」に編集してください。

そして「c = 2」では、抽出条件をチェックする列を指定します。抽出条件をA列でチェックするのであれば「c = 1」、B列でチェックするのであれば「c = 2」を入力してください。

上書き保存を選択する

次に、入力したコードを保存します。

「ファイル」タブ、②「(ファイル名).xlsx の上書き保存」の順に選択します。

戻るボタン押す

「次の機能はマクロなしのブックに保存できません:」と記載されたダイアログボックスが表示されました。

「戻る」ボタンを押します。

保存先を指定する

「名前を付けて保存」ダイアログボックスが表示されました。

任意の保存先(例:デスクトップ)を選択し、②ファイル名(例:VBAで表を作る)を入力します。

③「ファイルの種類」で「Excel マクロ有効ブック」を選択し、④「保存」ボタンを押します

マクロを選択する

マクロを設定できました。次に、マクロを実行して新しく表を作成します。

「開発」タブ、②「マクロ」の順に選択します。

マクロを実行する

「マクロ」ダイアログボックスが表示されました。

作成したコードを選択し、②「実行」ボタンを押します。

表を作れた

VBAを使って既存の表から特定のデータだけを抽出し、新しく表を作成することができました。

特定のデータだけを抽出できる関数について

エクセルでは、FILTER関数以外にも条件を指定することで特定のデータだけを抽出できる機能を持つ関数がいくつか搭載されています。

以下の記事にて、データを抽出する際に役立つ関数をそれぞれ詳しくご紹介しています。

関数は数式を入力するだけで簡単に使用できますので、作業効率を上げたい方は、ぜひお試しください。

エクセルで条件に合うものをすべて抽出する関数