【Excel】エクセルで特定の文字より後ろを抽出(指定文字から右側・以降を抜き出し:最後から特定の文字まで:アットマーク:メールアドレスなど) | モアイライフ(more E life)
生成AI×マクロコーディング自動化の実践プロンプト集を販売中♪

~もうマクロのコードは自分で書く必要は無し!?生成AIにお任せで簡単にかける時代に~

→ただいま七夕大幅割引セール中♪

【Excel】エクセルで特定の文字より後ろを抽出(指定文字から右側・以降を抜き出し:最後から特定の文字まで:アットマーク:メールアドレスなど)

Excelのスキルアップ
本サイトでは記事内に広告が含まれています

この記事では、エクセルで特定の文字よりも後の文字列を抽出する方法、複数の関数を使った手法、同じ文字が複数ある場合の処理について解説していきます。

ポイントは、以下の通りです。

・RIGHT関数とFIND関数を組み合わせて文字の後を抽出・MID関数を使用した別のアプローチも可能

・同じ文字が複数ある場合は最後の位置を特定する必要

・LEN関数で文字列の長さを取得して計算を行う

・SUBSTITUTE関数で最後の文字位置を特定

エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪

 

スポンサーリンク

エクセルで特定の文字より後を抽出する方法1【RIGHT関数】

それでは以下のサンプルを用いて、特定の文字よりも後の文字列を抽出する方法を確認していきます。

ここでは@マークから後ろを抽出していきます。

メールアドレスから@マーク以降のドメイン部分を抽出したい場合など、この方法が非常に有効です。

 

B2セルに@マーク以降を抽出する数式を入力します。

=RIGHT(A2,LEN(A2)-FIND(“@”,A2))

この数式を詳しく解説します。

FIND(“@”,A2)で@マークの位置を取得します。

例えばyamada@example.comの場合、@マークは7番目の位置にあります。

LEN(A2)で文字列全体の長さを取得し、@マークの位置を引くことで@マーク以降の文字数を計算します。

RIGHT関数で右側から指定した文字数を抽出します。

ENTERで処理を確定させます。

結果として「example.com」が表示され、@マーク以降の文字列が正しく抽出されました。

簡単ですね♪

オートフィルを使用してB3、B4セルにも同じ処理を適用します。

先頭のセル(B2)の右下にカーソルを合わせてドラッグまたはダブルクリックすることで自動的にコピーされます。

 

 

エクセルで特定の文字より後を抽出する方法2【MID関数:SUBSTITUTE関数:FIND関数】

続いてはMID関数を使用した別のアプローチで@マーク以降を抽出する方法を確認していきます。

MID関数を使用することでも、同様の結果を得ることができます。

この方法では開始位置を明確に指定できるため、理解しやすい場合があります。

C2セルに次の数式を入力します。

=MID(A2,FIND(“@”,A2)+1,LEN(A2))

この数式では、MID関数を使用して中間部分を抽出しています。

第1引数のA2は対象文字列、第2引数のFIND(“@”,A2)+1は開始位置(@マークの次の位置)、第3引数のLEN(A2)は抽出する文字数(文字列全体の長さ)を指定しています。

ENTERで処理を確定させます。

SUBSTITUTE関数とFIND関数を組み合わせた方法も確認してみましょう。

D2セルに次の数式を入力します。

=TRIM(RIGHT(SUBSTITUTE(A2,”@”,REPT(” “,100)),100))

この数式では、SUBSTITUTE関数で@マークを100個のスペースに置き換え、RIGHT関数で右側100文字を取得し、TRIM関数で余分なスペースを削除しています。

やや複雑ですが、特定の文字以降を抽出する別のアプローチとして有効です。

 

エクセルで特定の文字よりあと後を抽出する方法3【同じ文字が複数ある場合の処理】

続いては同じ文字が複数存在する場合に、最後の文字以降を抽出する方法を確認していきます。

ファイルパスからファイル名を抽出する場合など、同じ文字(\や/)が複数含まれる文字列では、最後の該当文字以降を抽出する必要があります。

最後の\マーク以降のファイル名を抽出する方法を確認していきます。

最後の\マークの位置を特定するために、文字列を逆順に検索する必要があります。

F2セルに次の数式を入力します。

=TRIM(RIGHT(SUBSTITUTE(E2,”\”,REPT(” “,100)),100))

この数式では、SUBSTITUTE関数で\マークを100個のスペースに置き換えることで、最後の\マーク以降の文字列を右端に配置し、RIGHT関数で取得しています。

ENTERで処理を確定させます。

より正確な方法として、G2セルに次の数式を入力してみましょう。

=MID(E2,FIND(“~”,SUBSTITUTE(E2,”\”,”~”,LEN(E2)-LEN(SUBSTITUTE(E2,”\”,””))))+1,LEN(E2))

この数式を詳しく解説します。

LEN(E2)-LEN(SUBSTITUTE(E2,”\”,””))で\マークの総数を計算します。

SUBSTITUTE関数の第4引数にこの値を指定することで、最後の\マークのみを~マークに置き換えます。

FIND関数で~マークの位置を取得し、MID関数でその次の位置以降を抽出します。

ENTERで処理を確定させます。

結果として「report.xlsx」「sample.csv」「document.pdf」といったファイル名が正しく抽出されます。

混乱しないようお気をつけくださいませ(^^)/

 

 

まとめ エクセルで特定の文字以降を抽出(右側から抜き取り)する方法

この記事では、エクセルで特定の文字よりも後の文字列を抽出する様々な方法について解説してきました。

これらの技術を活用することで、メールアドレスからのドメイン抽出、ファイルパスからのファイル名抽出など、様々なデータ処理が効率的に行えます。ぜひ積極的に活用してみてくださいませ♪

コメント

スポンサーリンク
タイトルとURLをコピーしました