• 公開日:

エクセルで名前を検索して抽出する方法

Excelで、大規模なデータベースから特定の名前を検索して抽出ができると、手作業で一つずつ検索するよりも効率的で大変便利です。

この記事では、名前を検索して抽出する方法について詳しく解説していきます。

Excelの検索機能を駆使して、効率よく名前を抽出する方法をマスターしましょう。

エクセルで名前を検索して抽出する方法

エクセルで名前を検索して抽出する方法をご紹介します。

INDEX関数とMATCH関数

INDEX関数とMATCH関数で名前を検索して抽出する方法は、以下のとおりです。

関数を入力する

上記の表「講座リスト」から、特定の「講座名(E2セル)」と「受講日(F2セル)」に一致した「受講者」をG2セルに抽出したい場合を例にご説明します。

G2セルに「=INDEX(A3:C13,MATCH(E2&F2,C3:C13&B3:B13,0),1)」と入力し、Enterを押します。

数式については、以下の「INDEX関数とMATCH関数の数式について」セクションで詳しくご説明します。

名前を抽出できた

G2セルに、「PowerPoint基本」を「2024/1/25」に受講した「受講者」の名前を抽出することができました。

INDEX関数とMATCH関数の数式について

関数の説明

上記「INDEX関数とMATCH関数」セクションで使用した「=INDEX(A3:C13,MATCH(E2&F2,C3:C13&B3:B13,0),1)」という数式についてご説明します。

INDEX関数で対象範囲を「講座リスト」全体(A3:C13)、列番号は抽出したいデータが表の一番左の「受講者」であるため、「1」を指定します。

ExcelのINDEX関数の使い方|行と列が交差する位置にあるセルを返す

MATCH関数で、検索値に対象とする講座名と受講日を指定するセルを「」で並べて指定し(E2&F2)、検索範囲は検索値に対応する列を、検索値と同じ順番で「」で並べて指定(C3:C13&B3:B13)します。

検索方法は、完全一致した値を抽出するため「0」を指定します。

ExcelのMATCH関数の使い方|検索値の範囲内での相対的な位置を返す

ExcelのINDEX関数とMATCH関数を組み合わせた使い方

DGET関数

DGET関数で名前を検索して抽出する方法は、以下のとおりです。

関数を入力する

上記の表から、特定の「入社年(E2セル)」、「部署名(F2セル)」に合致した「社員名」をG2セルに抽出したい場合を例にご説明します。

G2セルに「=DGET(A1:C12,G1,E1:F2)」と入力し、Enterを押します。

DGET関数は、データベースから条件に合うデータを抽出する関数です。書式は「=DGET(データベース,フィールド,検索条件)」となります。

「データベース」には表全体(A1:C12)を指定します。

「フィールド」には抽出したいデータのある列の項目のセルを指定(G1)し、「検索条件」には、入社年と部署名を指定するセルを項目名も含めて指定(E1:F2)します。

ExcelのDGET関数の使い方|条件を満たすレコードの値を返す

名前を抽出できた

G2セルに「2012」に入社した「開発部」の「社員名」を抽出することができました。

VLOOKUP関数とHLOOKUP関数

VLOOKUP関数とHLOOKUP関数を組み合わせる

上図は、VLOOKUP関数とHLOOKUP関数を組み合わせて「料金区分」と「会員区分」に応じた「料金」を抽出した例です。

下記の記事では、ExcelのVLOOKUP関数とHLOOKUP関数を組み合わせる方法をご紹介してます。

VLOOKUP関数とHLOOKUP関数は、どちらもデータ検索に便利な関数です。上記の例を応用し、特定の名前も簡単に抽出することが可能です。

ExcelのVLOOKUP関数とHLOOKUP関数を組み合わせる

文字列から文字を抽出する

文字列から文字を抽出する方法をご紹介します。

右から〇文字分を抽出する

RIGHT関数を使って、右から〇文字分を抽出する方法は以下のとおりです。

関数を入力する

上記のB2セルの「商品名」から、右から3文字だけをC2セルに抽出したい場合を例にご説明します。

C2セルに「=RIGHT(B2,3)」と入力し、Enterを押します。

RIGHT関数は、文字列の右端(末尾)から指定した数の文字を取り出すことができる関数です。

RIGHT関数の書式は「=RIGHT(文字列,[文字数])」となり、「B2」セルの文字列右端から「3」文字抽出するという意味になります。

ExcelのRIGHT関数の使い方|文字列の右側から指定した文字数を返す

文字を抽出できた

C2セルに、B2セルの右から3文字(例:ノート)を抽出することができました。

左から〇文字分を抽出する

LEFT関数を使って左から〇文字分を抽出する方法は以下のとおりです。

関数を入力する

上記のB3セルの「商品名」から、左から3文字だけをC3セルに抽出したい場合を例にご説明します。

C3セルに「=LEFT(B3,3)」と入力し、Enterを押します。

LEFT関数は、文字列の左端(先頭)から指定された数の文字を取り出すことができる関数です。

LEFT関数の書式は「=LEFT(文字列,[文字数])」となり、「B3」セルの文字列左端から「3」文字抽出するという意味になります。

ExcelのLEFT関数の使い方|指定した数の文字を左/先頭から取り出す

文字を抽出できた

C3セルに、B3セルの左から3文字(例:B社製)を抽出することができました。

空白から前の文字だけ抽出する

LEFT関数とFIND関数を使って、空白から前の文字だけ抽出する方法は以下のとおりです。

関数を入力する

上記のB4セルの「商品名」から、空白より前にある文字列(例:CCC社製)のみをC4セルに抽出したい場合を例にご説明します。

C4セルに「=LEFT(B4,FIND(" ",B4,1)-1)」と入力し、Enterを押します。

FIND関数は、対象の文字列の中で探したい文字が最初に何文字目に現れるのかを検索できる関数です。

FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」となり、空白(" ")までの文字数(=6)を算出します。

そこから空白1つ分を「-1」し、LEFT関数で左からその文字数分(=5)を抽出(CCC社製)します。

ExcelのFIND関数の使い方|文字列が最初に現れる位置を検索

文字を抽出できた

C4セルに、B4セルの空白より前にある文字列(例:CCC社製)のみを抽出することができました。

以上の方法であれば、空白より前の文字列の数がいくつになっても抽出することが可能になります。

空白より後ろの文字だけ抽出する

RIGHT関数/FIND関数/LEN関数を使って、空白より後ろの文字だけ抽出する方法は以下のとおりです。

関数を入力する

上記のB5セルの「商品名」から、空白より後ろにある文字列(例:付箋セット)のみをC5セルに抽出したい場合を例にご説明します。

C5セルに「=RIGHT(B5,LEN(B5)-FIND(" ",B5,1))」と入力し、Enterを押します。

LEN関数は、文字列の文字数を返す関数で、書式は「=LEN(文字数)」となります。

LEN関数でセル内(B5)の全体の文字数をカウントしたあと、FIND関数で空白までの文字数を差し引きます。

「LEN関数:全体の文字数(=12)」-「FIND関数:空白までの文字数(=7)」=「5」となります。

RIGHT関数で右から「5」文字を抽出すると、「付箋セット」というデータが表示されます。

ExcelのLEN関数の使い方|半角と全角の区別なく文字数を返す

文字を抽出できた

C5セルに、B5セルの空白より後ろにある文字列(例:付箋セット)のみを抽出することができました。

以上の方法であれば、空白より後ろにある文字列の数がいくつになっても抽出することが可能になります。

エクセルで表から名前を抽出する方法

HVLOOKUP関数で抽出した例

上図は、XLOOKUP関数を使って複数の条件に該当する名前を抽出した例です。

下記の記事では、Excelに入力されている表の中から、指定した複数の条件に該当する名前データを抽出する方法をご紹介しています。

フィルターを使った方法や、XLOOKUP関数、AND関数を使用した方法などをご説明していますので、ぜひ参考にしてください。

エクセルで表から名前を抽出する方法