Excel関数 逆引き集 | 指定文字以降を抽出 → MID(FIND(“-“,A1)+1,…)

Excel
スポンサーリンク

概要

文字列の中で「指定した文字以降の部分」を取り出したいときに使えるのが、
=MID(A1,FIND("-",A1)+1,…) という組み合わせです。

ここでは「-(ハイフン)」を例にしていますが、任意の文字に置き換えれば同じ仕組みで利用できます。FIND関数で指定文字の位置を調べ、その直後からMID関数で文字列を切り出すのがポイントです。


基本の使い方

書式

=MID(対象文字列, FIND(検索文字, 対象文字列)+1, 文字数)
  • FINDで検索文字の位置を取得
  • +1することで「指定文字の直後」から開始
  • MIDで指定した文字数分を切り出す

=MID("ABC-123",FIND("-", "ABC-123")+1,3)
// 結果: "123"

具体例

商品コードから番号部分を抽出

=MID(A2,FIND("-",A2)+1,LEN(A2))

「ABC-123」というコードから「123」を取り出せます。

氏名をスペースで区切って名だけ抽出

=MID(B2,FIND(" ",B2)+1,LEN(B2))

「山田 太郎」から「太郎」を抽出。

メールアドレスからドメイン部分を抽出

=MID(C2,FIND("@",C2)+1,LEN(C2))

「user@example.com」から「example.com」を取り出せます。


応用テンプレート

LENを組み合わせて残り全部を抽出

=MID(D2,FIND("-",D2)+1,LEN(D2))

指定文字以降をすべて取り出す。

複数の区切り文字に対応

=IFERROR(MID(E2,FIND("-",E2)+1,LEN(E2)),MID(E2,FIND("_",E2)+1,LEN(E2)))

「-」がなければ「_」以降を抽出。

TRIMと組み合わせて余分なスペースを削除

=TRIM(MID(F2,FIND(" ",F2)+1,LEN(F2)))

名を抽出した後に余分なスペースを取り除きます。


よくあるつまずきと対策

指定文字が見つからないとエラーになる

FINDは検索文字が存在しないと#VALUE!エラーになります。IFERRORで補うと安心です。

全角と半角の違い

「-」と「-」は別文字です。入力データの全角半角を統一してから使いましょう。

複数回出現する場合

FINDは最初に見つかった位置を返します。2回目以降を対象にしたい場合は開始位置を指定します。


例題

問題1: A2セルの文字列「ABC-123」から「-」以降の文字列をB2に表示してください。

解答例:

=MID(A2,FIND("-",A2)+1,LEN(A2))

問題2: C2セルの氏名「山田 太郎」からスペース以降の文字列をD2に表示してください。

解答例:

=MID(C2,FIND(" ",C2)+1,LEN(C2))

問題3: E2セルのメールアドレスから「@」以降の文字列をF2に表示してください。

解答例:

=MID(E2,FIND("@",E2)+1,LEN(E2))

問題4: G2セルの文字列に「-」がなければ文字列全体をH2に表示してください。

解答例:

=IFERROR(MID(G2,FIND("-",G2)+1,LEN(G2)),G2)

問題5: I2セルの文字列からスペース以降の文字列を抽出し、余分なスペースを削除してJ2に表示してください。

解答例:

=TRIM(MID(I2,FIND(" ",I2)+1,LEN(I2)))

まとめ

MIDFINDを組み合わせることで「指定文字以降の部分」を簡単に抽出できます。

  • FINDで位置を調べる
  • +1で直後から開始
  • LENを使えば残り全部を取り出せる

講師として強調したいのは「LEFTは指定文字以前、MIDは指定文字以降」。この違いを理解すれば、Excelでの文字列処理が自在にできるようになります。

タイトルとURLをコピーしました