Excel|XLOOKUPの複数条件によるデータ抽出 

S003|区切り文字で文字列を左/真ん中/右から別々に抽出したい|Excelのデータ抽出方法

区切り文字で左端・真ん中・右端からそれぞれ抽出したいなら、
 ・Microsoft365はTEXTBEFORE、TEXTAFTER関数
 ・Excel2021/2019/2016はLEFT、MID、RIGHT関数の引数[文字数]に、FIND関数を使用する。

目的

区切り文字で分割抽出

使用する関数

TEXTBEFORE関数、TEXTAFTER関数、LEFT関数、MID関数、RIGHT関数、LEN関数、FIND関数

目次

例題1|「半角スペース」より前にある「氏名」を抽出する

  1. 「氏名」を求めるセル(F3セル)を選択し、「=TEXTBEFORE(」と入力する。
  2. [文字列]…抽出する「氏名」のセル範囲を選択する。
  3. [区切り文字]…半角スペース「” “」を入力する。
  4. [区切り位置]…省略。
  5. [一致モード]…省略。
  6. [末尾一致]…省略。
  7. [規定値]…省略して、「Enter」キーで数式を確定する。

【数式】=TEXTBEFORE(A3:A5, ” “)

使用するExcel関数

Microsoft365 : TEXTBEFORE、TEXTAFTER関数

数式の解説

「=TEXTBEFORE(A3:A5, “ ”)」の数式は、A3セル~A5セルの半角スペース「” “」より前にある「氏名」を抽出する。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample1.xlsx

例題2|「半角スペース」より前にある「氏名」を抽出する

  1. 「メールアドレス」を求めるセル(I3セル)を選択し、「=TEXTAFTER(」と入力する。
  2. [文字列]…抽出する「氏名」のセル範囲を選択する。
  3. [区切り文字]…「”生“」を入力する。
  4. [区切り位置]…省略。
  5. [一致モード]…省略。
  6. [末尾一致]…省略。
  7. [規定値]…省略して、「Enter」キーで数式を確定する。

【関数】=TEXTBEFORE●●

使用するExcel関数

Microsoft365 : TEXTAFTER関数

数式の解説

「=TEXTAFTER(A3:A5, “生”)」の数式は、A3セル~A5セルの「”生“」より後にある「メールアドレス」を抽出する。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample2.xlsx

例題3|「半角スペース」より前にある「氏名」を抽出する

  1. 「生年月日」を求めるセル(H3セル)を選択し、「=TEXTBEFORE(」と入力する。
  2. [文字列]…「TEXTAFTER(A3:A5, “ ”)」と入力する。
  3. [区切り文字]…「”生“」を入力する。
  4. [区切り位置]…省略。
  5. [一致モード]…省略。
  6. [末尾一致]…省略。
  7. [規定値]…省略して、「Enter」キーで数式を確定する。

【関数】=TEXTBEFORE

使用するExcel関数

Microsoft365 : TEXTBEFORE関数

数式の解説

「TEXTAFTER(A3:A5, “ ”)」の数式は、半角スペース「” “」より後にある生年月日とメールアドレスを抽出する。抽出した生年月日とメールアドレスをTEXTBEFORE関数の引数[文字列]に指定して、[区切り文字]に「”生”」を指定することで、「生」より前にある「生年月日」だけが抽出される。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample3.xlsx

例題4|「半角スペース」より前にある「氏名」を抽出する

  1. 「氏名」を求めるセル(F3セル)を選択し、「=LEFT(」と入力する。
  2. [文字列]…抽出する「氏名」のセルを選択する。
  3. [文字数]…半角スペース「” “」より1文字前までの文字数を求める数式「FIND(” “, A3)-1」を入力して、「Enter」キーで数式を確定する。
  4. 数式を必要な分だけ複写する。

【数式】=LEFT(A3,FIND(” “, A3)-1)

使用するExcel関数

Microsoft365 : TEXTAFTER関数

数式の解説

「FIND(“ “,A3)」の数式は、「木村洋子 1990/9/10生 aaa@xxxxx.ne.jp」の左端から「半角スペース」までの位置を求めます。「求めた位置-1」として「半角スペース」より1文字前までの位置を使い、「=LEFT(A3,FIND(” ”, A3)-1)」の数式を作成することで、 「木村洋子 1990/9/10生 aaa@xxxxx.ne.jp」の左端から「半角スペース」より前にある「木村洋子」が抽出されます。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample4.xlsx

例題5|「半角スペース」より前にある「氏名」を抽出する

  1. 「メールアドレス」を求めるセル(I3セル)を選択し、「=RIGHT(」と入力する。
  2. [文字列]…抽出する「氏名」のセルを選択する。
  3. [文字数]…「”生“」より1文字後からの文字数を求める数式「LEN(A3)-FIND(“生”,A3)」を入力して、「Enter」キーで数式を確定する。
  4. 数式を必要な分だけ複写する。
使用するExcel関数

Microsoft365 : TEXTAFTER関数

数式の解説

「LEN(A3)-FIND(“生”,A3)」の数式は、「氏名」の文字数から「生」までの文字数を引いた文字数、つまり、残りの「メールアドレス」の文字数を求める。子の数式をRIGHT関数の引数の「文字数」に使うことで、「木村洋子 1990/9/10生 aaa@xxxxx.ne.jp」の右端から「aaa@xxxxx.ne.jp」が抽出される。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample5.xlsx

例題6|「半角スペース」より前にある「氏名」を抽出する

  1. 「生年月日」を求めるセル(H3セル)を選択し、「= MID(」と入力する。
  2. [文字列]…「氏名」のセルを選択する。
  3. [開始位置]…「半角スペース」の位置+1を求める数式「FIND(“ ”,A3)+1」を入力する。
  4. [文字数]…「生」の位置から「半角スペース」の位置までを引いた文字数-1を求める数式「FIND(“生”,A3)-FIND(” “, A3)-1」を入力して、「Enter」キーで数式を確定する。
  5. 数式を必要な分だけ複写する。
使用するExcel関数

Microsoft365 : MID関数、FIND関数

数式の解説

「=MID(A3,FIND(“ ”,A3)+1,FIND(“生”,A3)-FIND(“ ”, A3)-1)」の数式は、 「木村洋子 1990/9/10生 aaa@xxxxx.ne.jp」の「半角スペース」の1文字後から「生」の1文字前までの文字数分の「1990/9/10」が抽出される。

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s001-sample6.xlsx

応用1

  1. 「氏名」を
使用するExcel関数

Microsoft365 : TEXTAFTER関数

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s003-application1.xlsx

応用2

  1. 「氏名」を
使用するExcel関数

Microsoft365 : TEXTAFTER関数

Excelデータダウンロード

以下のリンクをクリックするか右クリックし、Excelデータをダウンロードください
s003-application2.xlsx

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次