Excel(エクセル)でデータを抽出する方法| 関数を活用したテクニックをまとめて解説
Excel(エクセル)のデータを抽出する方法は、数多くあります。さまざまなデータを効率よく抽出できますが、なかでも、関数を使う方法は重要です。
本記事では、関数を中心としたデータ抽出方法と使用例を複数紹介します。
このページのコンテンツ
VLOOKUP関数を使ったデータ抽出方法
VLOOKUP関数とは、対象のデータの中から条件にマッチするデータを抽出する関数です。
機能と具体的な使用例を解説します。
VLOOKUP関数の機能
VLOOKUP関数は、対象にする範囲の左端の列の値を参照し、条件にあった行の指定の位置のセルの値を抽出します。
条件は、4つの引数で設定します。計算式と引数は次の通りです。
【計算式】
=VLOOKUP(検索値,検索範囲,列番号,[検索方法])
【引数の説明】
検索値 | 対象範囲の中の目的とするデータがある行の左端の列の値を指定する |
---|---|
検索範囲 | 抽出するデータを探す範囲 |
列番号 | 対象範囲の左から何番目の列のデータを抽出するかを指定した値 |
検索方法 | 対象範囲から検索値を探す際の検索方法。”TRUE”か”FALSE”を指定する |
検索方法については、”TRUE”を指定した場合は、検索値に対して最も近い値を探し、”FALSE”を指定すると、完全一致した値を探します。そのため、基本的には”FALSE”を指定します。
一覧表の左端の列の値を参照し、条件にあった行の指定の位置のセルの値を抽出できます。
VLOOKUP関数の使用例
VLOOKUP関数を使って、商品一覧の表のデータを活用し、見積表に商品名と単価を反映させる手順を説明します。
【1.商品一覧と見積表を用意する】
【2.商品名に関数の式を入力する】
商品名のセルにVLOOKUP関数を設定します。
検索値には「商品コード」のセルを指定し、検索範囲を「商品一覧」全体、列番号は「商品名」が検索範囲の左から2番目にあるので「2」を指定し、検索方法は完全一致したデータを反映させるため「FALSE」と設定します。
数式を入力したら、対象となる列のすべてにコピーして反映させます。
【3.単価に関数の式を入力する】
同様に、単価にもVLLOKUP関数を設定します。今回の列番号は、単価が検索範囲の左から3番目にあるため「3」を指定します。
数式を入力したら、対象となる列のすべてにコピーして反映させます。
【4.商品コードと数量を指定する】
商品コードと数量を入力すると、商品別の小計が計算され、見積もりの合計金額を表示できます。
VLOOKUP関数を組みわせると、複数のデータベースを参照して必要なデータを整理するなどもできます。
さらに詳しい解説や活用方法を知りたい場合は、次の記事を参考にしてください。
参考:そのまま使える!EXCELのVLOOKUP関数の使い方と構文を解説
INDEX関数とMATCH関数を使ったデータ抽出方法
INDEX関数とMATCH関数を組み合わせると、エクセルの表の中から指定の条件で抽出ができます。LOOKUP関数よりも柔軟な抽出ができるのが特徴です。
それぞれの関数の機能と、具体的な使用例を解説します。
INDEX関数の機能
INDEX関数は、指定した対象範囲から、指定した行番号と列番号の値に該当するデータを抽出します。
行だけ、または、列だけの値を指定したデータの抽出もできます。
【計算式】
=INDEX(対象範囲,行番号,列番号)
【引数の説明】
対象範囲 | データを検索する範囲を指定する |
行番号 | 対象範囲の上から何番目の行のデータを抽出するかを指定する |
列番号 | 対象範囲の左から何番目の列のデータを抽出するかを指定する |
MATCH関数の機能
MATCH関数は、対象とする範囲から検索値を探して、検索値の位置を数字で示します。
【計算式】
=MATCH(検索値,検索範囲,[検索方法])
【引数の説明】
検索値 | 対象範囲の中の目的とするデータの値 |
検索範囲 | 抽出するデータを探す範囲。基本的に1列または1行で指定する必要がある |
検索方法 | 対象範囲から検索値を探す際の検索方法。”1”・”0”・”-1”のいずれかを指定する |
検索方法は、指定する値によって次のような違いがあります。
- 1(または省略): 昇順に並べられた配列で、検索値以下の最大値を見つける
- 0: 配列で検索値と正確に一致する最初の値を見つける。この一致タイプでは、ワイルドカード文字(* や ? など)も使用できる
- -1: 降順に並べられた配列で、検索値以上の最小値を見つける
また、複数の条件で抽出する場合は、検索値と対象範囲をそれぞれ「&」でつなげて指定します。ただし、行と列を混ぜた複数条件を指定するとエラーが出ます。
INDEX関数とMATCH関数を組み合わせた使用例
MATCH関数で抽出するデータの条件を行番号または列番号で抽出し、INDEX関数で目的とするデータの抽出ができます。
ここでは、売上データから、ある顧客が特定の商品を購入した最初の日付を調べる例を説明します。
【1.売上データと顧客名、商品名を指定する表を作成する】
「顧客名」と「商品名」を入力すると、「初回購入日」がわかる表を作成します。
【2.初回購入日にINDEX関数とMATCH関数を設定する】
ここでは購入日が行で並んでいる表を参照するため、INDEX関数の行をMATCH関数で指定する関数にします。
【3.INDEX関数の引数を設定する】
対象範囲は「売上表」全体、列番号は抽出したいデータが表の一番左の「購入日」であるため、「1」を指定します。
【4.MATCH関数の引数を設定する】
検索値に対象とする顧客名と商品名を指定するセルを「&」で並べて指定し、検索範囲は検索値に対応する列を、検索値と同じ順番で「&」で並べて指定します。
検索方法は、完全一致した値を抽出するため「0」を指定します。
【5.MATCH関数の引数を設定する】
顧客名と商品名を指定すると、それに合致した列の日付が初回購入日に反映されます。
以下の記事では、顧客管理をExcelで行う際に役立つテンプレートを紹介しています。
顧客管理はExcel(エクセル)でできる! 作り方や無料テンプレートを紹介
DGET関数を使ったデータ抽出方法
DGET関数を使用すると、表の中から複数の条件を指定してそれに合致した列のデータの抽出ができます。
機能と具体的な使用例を解説します。
DGET関数の機能
【計算式】
=DGET(データベース,フィールド,条件)
【引数の説明】
データベース | データを検索する範囲を指定する。選択する際は、見出しも含めて指定する |
フィールド | データベースの中から、データを抽出したい項目の見出しのセルを指定する |
条件 | 検索条件とする箇所を指定する。 |
DGET関数は、与えられた条件に一致するレコードが1つだけの場合に値を返します。
条件に一致するレコードが複数存在する場合は、「#NUM!」エラーが表示されます。また、条件に一致するレコードが存在しない場合は「#VALUE!」エラーが表示されます。
そのため、2〜3の値の指定により抽出したいデータが定められるようなデータ抽出に向いています。
DGET関数の使用例
社員のデータベースから、対象とする社員のメールアドレスを抽出する例を説明します。
【1.社員の名簿とメールアドレスを抽出する表を作成する】
【2.メールアドレスにDGET関数を設定する】
所属と苗字を指定すると対象者のメールアドレスが表示されるように指定します。
データベースには「社員名簿」を項目も含めて指定し、フィールドには抽出したいデータのある列の項目のセルを、条件には、所属と苗字を指定する箇所を項目も含めて指定します。
【3.所属と苗字を指定する】
所属と苗字を指定すると、該当者のメールアドレスが表示されます。
その他の関数を使ったデータの抽出方法
エクセルには他にも関数でデータを抽出する方法があります。
その他の役立つ方法を簡単にご紹介します。
IF関数で数値を分類してデータを抽出しやすくする方法
【計算式】
=IF(論理式,論理式が真の場合に返す値,論理式が偽の場合に返す値)
【引数の説明】
論理式 | 論理式を指定 |
論理式が真の場合に返す値 | 指定した論理式が真の場合に返す値を指定。直接指定したりセルを参照したりするほか、関数も指定できる |
論理式が偽の場合に返す値 | 指定した論理式が真の場合に返す値を指定。値の設定の仕方は、真の場合と同じ |
関数で指定した条件に合う場合と合わない場合で、別の値を返すように設定できます。
たとえば、顧客の売上データから、月の売上額にランクをつける、などが可能です。
COUNTIF関数・COUNTIFS関数を活用する方法
COUNTIF関数では指定したひとつの条件に合ったセルの数が、COUNTIFS関数では指定した複数の条件に合ったセルの個数がわかります。
COUNTIF関数の活用
【計算式】
=COUNTIF(範囲,検索条件)
【引数の説明】
範囲 | データを抽出する対象の範囲を指定 |
検索条件 | 対象の範囲からデータをカウントするセルの条件を設定。数字や文字などの指定ができる |
【COUNTIF関数の例】
COUNTIF関数を使うと、顧客データから、申し込みがあった顧客の人数を抽出するなどができます。
COUNTIFS関数の活用
【計算式】
=COUNTIFS(検索条件範囲1,検索条件1,{検索条件範囲2,検索条件2,}….)
COUNTIFS関数の検索範囲、検索条件の意味はCOUNTIF関数と同じです。違いは、式の中に範囲と条件を複数追加できる点です。
【COUNTIFS関数の例】
COUNTIFS関数を使うと、売上ランクなど一定の条件に、売上金額などで条件を加えて該当する顧客の数を抽出するなどができます。
Excel(エクセル)を使った関数以外のデータ抽出方法
エクセルには、関数以外にもデータを抽出する方法があります。
その中から、フィルターを使う方法、テーブル機能を活用する方法を解説します。
フィルターオプションを使う方法
リスト範囲と検索条件範囲、抽出範囲を指定し、対象としたリストから検索条件に合ったデータの抽出ができます。
フィルターオプションは、メニューの「データ」タブの「詳細設定」から設定します。
設定内容の「リスト範囲」には、データを抽出したい元のデータを指定します。
「検索条件範囲」には、検索条件を項目もあわせて指定します。複数の項目や値の設定も可能です。
最後に、「抽出範囲」には、データを抽出するセルの位置を指定します。
OKを押すと、抽出範囲で指定した位置に条件にあったセルが抽出されます。
テーブル機能(スライサー)を活用する方法
テーブル機能でスライサーを使用して、データを抽出する方法を解説します。
テーブルの設定方法
メニューの挿入から「テーブル」を選び、データを抽出したい表の範囲を指定して「OK」を押します。
これで表がテーブルになります。
スライサーでデータを抽出する方法
テーブルを作成したら、テーブル内のセルを選択すると、「テーブル」タブが表示されるので、タブの中にある「スライサーの挿入」をクリックします。
ダイアログが表示されるので、データを抽出したい項目にチェックを入れて「OK」を押します。
チェックを入れた項目のパネルが開きますが、これがスライサーです。
スライサーにある項目はクリックするとオンとオフが入れ替わり、オンの値のデータだけが、元のテーブルに表示されます。
関数やフィルターを理解するとExcel(エクセル)でデータが抽出できる
Excel(エクセル)では、関数やフィルターなどの機能を使いデータを抽出できます。Excel(エクセル)にはさまざまな関数があるため、使いこなせば複雑なデータ抽出も可能です。
しかし、関数を使いこなすのが難しい場合や、元となるデータの作成にそもそもの不安がある場合は、顧客管理ツールを使うと簡単です。興味のある方はぜひ参考にしてください。