shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】特定の文字列の間の値を抽出する方法(TEXTBEFORE/ TEXTAFTER 関数)

Microsoft365のExcelで、特定の文字列の間の値を抽出する方法は、TEXTBEFORE/ TEXTAFTER 関数が便利です。この関数は、従来のLEFT関数やFIND関数などの組み合わせよりも、シンプルに文字列を抽出できます。

ただし、この関数が使えないバージョンのExcelでは「#NAME?」のエラーや、「_xlfn.」の数式で再計算されないといった問題が発生するので、関係者のバージョンが異なる場合には注意が必要です。

TEXTBEFORE/ TEXTAFTER 関数が使えるMicrosoft365のExcelの場合、

=TEXTAFTER(TEXTBEFORE(元の文字列,終了文字),開始文字)

で、特定の文字列の間の値を抽出可能。終了文字と開始文字は含まれず、ワイルドカード文字も使用できない。

 

例えば、A1のセルに「あ~そ」の文字列があり、「か」「こ」の文字列の間を抽出したい場合は、次のとおりです。

数式TEXTAFTER(TEXTBEFORE(A1,"こ"),"か")で抽出

TEXTBEFORE/ TEXTAFTER 関数での抽出例

この事例での数式は、次のとおりです。

=TEXTAFTER(TEXTBEFORE(A1,"こ"),"か")

 

参考情報:

Microsoft Supportの情報

・指定した文字の前を抽出できるTEXTBEFORE 関数
・指定した文字の後を抽出できるTEXTAFTER 関数

 

TEXTBEFORE/ TEXTAFTER 関数でフルパス等の取得事例

shikumika.org

 

以上、Microsoft365のExcelで、特定の文字列の間の値を抽出する方法は、TEXTBEFORE/ TEXTAFTER 関数が便利という備忘録でした。この関数で、従来のLEFT関数やFIND関数などの組み合わせよりも、シンプルに文字列を抽出できます。