Excelのデータ抽出方法とは?必要な項目だけ抽出する関数も紹介

Microsoft Excelでデータの抽出を使いこなせば、仕事が捗ります。しかし、さまざまな方法があるため、どれをどのように使えばよいかわからない方もいるでしょう。そこで今回は、Excelで条件に応じて特定のデータを抽出する方法を詳しく解説します。

Microsoft Excel(以下、Excel)でデータ抽出ができれば、仕事で膨大なデータベースから該当するデータだけを見たいときに便利です。データ抽出には、スライサーやFILTER関数などを使います。

今回はExcelでデータ抽出する方法を、手順ごとにわかりやすく解説します。

Excelのデータ抽出にはテーブル機能のスライサーが便利

Excelでデータを抽出する際は、テーブル機能を活用すると便利です。テーブル機能とは、テーブルを挿入してフィルターや並べ替えができる機能を指します。

テーブル機能の基本的な使い方は以下の記事も解説しているので、詳しく知りたい方はこちらも参考にしてください。

【関連記事】名簿作成はエクセルなら簡単作成!理解すれば簡単・便利な時短テクニック

特定のデータを抜き出す際に使うのが、テーブル機能の中の補助的機能である「スライサー」です。スライサーを使えば、ワンクリックでフィルターをかけられます。

通常のフィルターを使う場合、表頭の逆三角ボタンをクリック(手順①)、「すべて選択」を一度押してチェックを全解除(手順②)、見たいデータにチェック(手順③)、OKをクリック(手順④)と4つのステップを踏まなければなりません。さらに、「複数の項目でフィルターをかけたい」となれば、より多くの手間がかかります。

一方、スライサーを使うと見たい項目を1クリックするだけでフィルターをかけられます。

【無料ダウンロード可能】あなたのPCスキル診断シート

スライサーで特定のデータを抽出する方法

ここから、スライサーを使う際の手順を詳しく解説します。

手順①:テーブルを用意する

まずは、特定のデータを抽出するテーブルを用意します。今回は、Excelに店舗別で販売価格・仕入価格(月単位)を入力した、以下のデータベースを活用します。

店舗別_販売価格_仕入価格_データベース

データベースが入力されているシートで、「挿入」タブを選択し、「テーブル」をクリックしましょう。続いて、今回テーブルにする範囲を指定したら、「OK」をクリックします。

テーブルを作成する方法

これで、以下のように、テーブルを作成できました。

テーブルの作成を完了

それでは、このテーブルにスライサーを挿入していきましょう。

手順②:「スライサーの挿入」をクリックする

テーブル上にカーソルを持っていくと「テーブルツール(デザイン)」というタブが表示されます(*表をテーブルにしていなければ、表示されません)。そのなかにある「スライサーの挿入」をクリックしてください。

すると、「スライサーの挿入」というダイアログボックスが表示されます。

手順③:見たい項目をチェックしてスライサーを表示する

表示されたダイアログボックスの中には、テーブルの表頭項目が並んでいるはずです。その中から、抽出したい項目を選び、チェックを入れます。

例えば、店舗別データを見たいのであれば「店舗名」、月別データを見たいのであれば「月」にチェックを入れましょう。

チェックを入れてOKを押すと、スライサーが登場します。

手順④:具体的な項目を選択してデータを抽出する

各項目のスライサーには、それぞれのデータ内容(店舗名であれば、横浜、渋谷、千葉、大宮)が表示されています。この中から、具体的な項目を選択してデータを抽出していきましょう。

例えば、「横浜と渋谷の飲みもののデータを見たい」という場合には、店舗名で「横浜」・「渋谷」、商品で「お茶」・「ジュース」を選択します。そうすると自動的にテーブルにフィルターがかかるという仕組みです。

スライサー内の項目を複数選択したい場合には、スライサーウィンドウ上部左のボタンを押し、フィルターを解除したい場合には上部右のボタンを押しましょう。

なお、スライサーは通常のオブジェクト(図形)扱いなので、選択してBack Spaceキーを押せば簡単に削除できます。

【無料診断】あなたの仕事力はどれぐらい?リモート・在宅ワークに役立つ仕事力をチェック

別シートにデータ抽出するならフィルターオプションを使う

元のデータから条件に当てはまるデータを「別シートに抽出したい」という場合には、フィルターオプションを使うのがおすすめです。先ほどのデータベースを使って、別シートにデータを抽出する方法を解説します。

手順①:データ抽出用シートに条件項目を入力する

最初に、条件となる項目をデータ抽出用のシートに入力しておきます。今回は、横浜の店舗を抽出するため、新たに作成したシート(データ抽出用)に「店舗名」と「横浜」を入力しておきました。

手順②:「フィルターオプションの設定」をする

次に、「データ」タブを選択し、並べ替えとフィルター内の「詳細設定」をクリックします。

「フィルターオプションの設定」のダイアログが表示されたら、各項目に入力していきましょう。

抽出先:「指定した範囲」
リスト範囲:データベース全体を指定
検索条件範囲:データ抽出用シートの条件項目のセルを指定
抽出範囲:データ抽出用シート上で、抽出したデータを表示させたいセルを指定

今回は、「元データ」シートのテーブル全体を「リスト範囲」として指定します。

また、「検索条件範囲」には「店舗名」「横浜」のセルを指定しました。

*下図では、便宜上「データ抽出用!Criteria」となっていますが、「データ抽出用!$A$1:$A$2」とセル番号で指定して構いません。

続いて、シートで空白がある任意の場所を「抽出範囲」に指定します。

「フィルターオプションの設定」にある全項目を入力し終えたら、「OK」をクリックしましょう。

手順③:条件を満たすデータが抽出される

以下のように、条件を満たすデータが抽出されます(今回は横浜の店舗の店舗コード・月・販売価格・仕入価格が表示)。

【無料診断】そのモヤモヤの原因は?キャリアのヒントが見つかる「モヤモヤ解消診断」

複雑な条件を指定するなら「FILTER関数」が便利

複雑な条件を指定する場合は、「FILTER関数」が便利です。ただし、この関数はOffice 365(サブスクリプション)もしくはExcel2021(2021年10月5日発売)のみで使用可能で、Office2019以前のバージョンでは使えないので注意しましょう。

ここから、FILTER関数について詳しく解説します。

FILTER関数とは

FILTER関数とは、「=FILTER(配列 , 含む , [空の場合])」で定義される関数です。指定した条件に基づき、データの範囲をフィルター処理できます。

FILTER関数の活用例

FILTER関数を使って、下記データベースから「ジュース」の列のみを抽出してみましょう。抽出した項目を見やすくするため、E列・F列・G列に「店舗名」「商品」「販売価格」をあらかじめ入力しています。

今回は、各引数を以下のように指定します。

配列:A2:C19
含む:B2:B19="ジュース"
空の場合:省略可能

上記を引数にしてFILTER関数を入力すると、「ジュース」を含む列が抽出できます。

FILTER関数は条件を式で表すことができるので「販売価格200円以上のデータを抜き出したい(この場合は、含むの項目を「≦200」とする)」などの条件指定もできます。FILTER関数内で複数の条件(「かつ」の場合)を指定する場合は、*で条件をつないでください(「または」として指定する場合は+を使う)。

新たな条件を加えたことで、以下では「横浜」「ジュース」「370」の行が表示されなくなりました。

FILTER関数に条件を加える

なお、「特定の店舗だけのデータを見たい」「ある商品のデータを抽出したい」など条件が限定されている場合は、最初に説明したスライサーのほうがシンプルで便利です。

Excelで必要な項目だけ抽出する際に便利な関数

スライサーやFILTER関数では、必要なデータ(行)を丸ごと抽出していました。一方、VLOOKUP関数やDGET関数のように、値(項目)だけを取り出す関数もあります。ここから、いくつか紹介します。

VLOOKUP関数

VLOOKUP関数とは、指定した範囲内で検索条件に一致するデータを抽出する関数です。引数に検索値・範囲・列番号・検索方法(近い値を探すならTRUE、完全一致の値を探すならFALSE)を入力します。

例えば、各店舗の店舗コードがわからなくなった場合、VLOOKUP関数を使って数値を抽出できます。下の例では、VLOOKUP関数でまず横浜の店舗コードを抽出してから、オートフィルで他店のコードも入力しています。

VLOOKUP関数の例

縦方向を検索して値を抽出するVLOOKUP関数に対し、横方向を検索して抽出するHLOOKUP関数もあります。また、新たに登場したXLOOKUP関数は、縦にも横にも対応した関数です。

VLOOKUP関数・HLOOKUP関数・XLOOKUP関数の詳しい使い方を知りたい方は、以下の記事を参考にしてください。

<関連記事>【Excel】朗報!これでVLOOKUPいらず!? 新たに登場するXLOOKUP関数とは?

INDEX関数とMATCH関数の組み合わせ

INDEX関数とMATCH関数を組み合わせれば、LOOKUP関数よりも自由に値を抽出できます。INDEX関数とは、対象範囲から指定した行番号・列番号に該当するデータを抽出する関数で、MATCH関数とは対象範囲から指定した値を検索し、数字で場所を示す関数です。

例えば、INDEX関数とMATCH関数を組み合わせることで、自動で調べたい値を表示できます。以下は、「店舗名」「月」「商品」を入力し、自動で販売価格を表示させる例です。

INDEX関数とMATCH関数の組み合わせ例

販売価格の部分のセルに、INDEX関数とMATCH関数を組み合わせた関数を入力しました。今回は詳しい説明を省略しますが、入力した店舗名・月・商品が完全に一致する行を表の中(A2からF14まで)から探し出し、その部分の販売価格を表示させるように、INDEX関数とMATCH関数の組み合わせで指示しています。

関数入力後、店舗名に「渋谷」、月に「8」、商品名に「果物」と入れると、自動で販売価格に「112」と表示されました。

調べたい項目を入力すれば自動で表示

INDEX関数やMATCH関数の詳しい使い方を知りたい方は、以下の記事も参考にしてください。

<関連記事>【Excel】あなたのExcelレベルはどれくらい? 上級問題にチャレンジ Vol.5

DGET関数

DGET関数も、対象範囲内で条件に一致する項目を抽出します。LOOKUP関数は基本的にひとつの条件に従うのに対し、DGET関数は複数の条件に対応可能です。

DGET関数の使い方

INDEX関数とMATCH関数の組み合わせで作成した販売価格の自動表示が、DGET関数でもできます。INDEX関数とMATCH関数の組み合わせが複雑で理解しにくい場合は、DGET関数を活用するとよいでしょう。

手順①:対象の範囲(データベース)を選択する

自動検索用に作成した「店舗名」「月」「商品」「販売価格」の表を使い、「販売価格」を表示するセルの上でDGET関数を入力(もしくは選択)し、対象の範囲を指定しましょう。今回は、左側にある「店舗名」から「仕入価格」までの表を丸ごと指定します(A1:F14)。

DGET関数_対象範囲を選択する

手順②:抽出項目が含まれるセル(フィールド)を指定する

続いて、フィールドを選択しましょう。今回は、入力した条件における「販売価格」を知りたいので、「販売価格」が入力されている表頭のセル(E1)を選択します。

DGET関数_セルを指定する

手順③:検索条件を指定する

最後に、検索条件を指定します。今回は、入力した部分(「店舗名」「月」「商品」)に該当する販売価格を知りたいので、該当する部分のセルを選択しましょう。この際、入力する部分のセルだけ(H2:J2)でなく、表頭部分も含めること(H1:J2)が重要です。

DGET関数_検索条件を指定

これで、DGET関数の入力が完了しました。あらかじめ「渋谷」「12」「おにぎり」と入力していたので、渋谷店における12月のおにぎり販売価格が自動で表示されます(110)。

DGET関数_自動で表示される

一度DGET関数を入力しておけば、他の条件を入力した場合も自動で反映されるため便利です。

DGET関数_入力項目を変更すれば自動で反映

なお、販売価格に数値が表示されず、「#NUM」や「#VALUE」などのエラーが出力されることがあります。「#NUM」の場合は他にも条件を満たす項目がある、「#VALUE」の場合は条件を満たす項目がない可能性が高いです。

関数を使えばExcelでスムーズにデータ抽出できる

Excelでテーブル機能のスライサーや関数を使えば、手軽にデータを抽出できます。スライサーやFILTER関数はデータベースから対象の行を抽出する際、LOOKUP関数やDGET関数などは対象の値・項目を抽出する際に使うと便利です。

ビジネスでデータ抽出が必要になったら、状況にあった機能や関数を活用して、業務の効率化を図りましょう。

【関連記事】
ピボットテーブルの使い方とは?【図解】作り方の基本から応用まで解説
Excel(エクセル)掛け算の方法は3つ!「*」以外の便利な関数も紹介
【Excel】IF関数を総まとめ!基本の使い方から条件分岐まで紹介

page top