スポンサーリンク

【Excel】MIDとSEARCH関数でセルを特定の文字で分ける方法

オフィスソフト
オフィスソフト
この記事は約3分で読めます。

Excelで、1つのセルに「ABC!DEF」のように複数の値が区切り文字(この例では「!」)で入っているとき、「それぞれ別のセルに分けたい」と思うことがあります。
そんな時に便利な方法がMID」と「SEARCH」の組み合わせです。

この記事では、MIDSEARCH関数を使って、特定の文字(!、アンダーバー、スラッシュなど)で文字列を分割する方法を、例を交えて詳しく紹介します。

スポンサーリンク

目的・やりたいこと

上記例のように「ABC!DEF」の「!」の前後の文字を抽出します。

前後の文字数が変わって、「ABCD!EF」となっても分割できるので、応用がきく方法です。

スポンサーリンク

結論!

MID関数とSEARCH関数とLEN関数で作ることができます。

前を取りたい場合

=MID(B3,1,SEARCH("!",B3)-1)

MID([元の文字列],1,SEARCH("[分割に使う文字]",[元の文字列])-1)

後を取りたい場合

=MID(B8,SEARCH("!",B8)+1,LEN(B8)-SEARCH("!",B8))

MID([元の文字列],SEARCH("[分割に使う文字]",[元の文字列])+1,LEN([元の文字列])-SEARCH("[分割に使う文字]",[元の文字列]))

[分割に使う文字]:今回は「!」を使用

[元の文字列]:今回は「ABC!DEG」を使用

置換して使ってください。

使用した関数の紹介

MID:文字列の一部を切り出す

開始位置と文字数を指定して、文字列を抽出する関数です。今回の使用方法は、1文字目から「!」の位置の直前までを指定することで、「!」までの文字を抽出しています。

=MID(文字列, 開始位置, 文字数)
  • 文字列:取り出したい対象(例:セルA1)
  • 開始位置:何文字目から取り出すか
  • 文字数:何文字分を取得するか

MIDには様々な使い方があるので、ぜひ覚えておきましょう。

MID関数を使ってExcelで長文を分割するテクニック
以前の記事で、長い文章「ABCDEFGHIJKLMNOPQRSTUVWXYZ」を1セルに1文字ずつ分割する方法をLENとLEFTを使って紹介しました。しかし、1文字の抽出であれば、もっと便利なMID関数というものを見つけたのでMIDを使った...

SEARCH:最初に出てくる区切り文字の場所

最初に出てくる指定文字の文字数を返すものです。単独で使用することは少なく、基本的に組み合わせで使います。今回は、区切り文字である「!」が何文字目にあるかを確認するために使用しています。

=SEARCH(検索文字列, 対象文字列)
  • 検索文字列:区切り文字(”!”など)
  • 対象文字列:探したい文字列

LEN:文字数をカウント

LEN関数は全文字数をカウントする関数です。今回は、区切り文字の後ろを切り出すときに、文字数を取得するために使用しています。区切り文字の後ろの文字数=(全体の文字数 ー「!」までの文字数)。

=LNE(対象文字列)
  • 対象文字列:文字数を知りたい文字列

終わりに

ExcelのMIDSEARCH関数を組み合わせれば、どんな区切り文字でもセルを柔軟に分けることが可能です。
慣れてしまえば、関数だけで見事にデータ加工できるので、ぜひ今回の例をベースにご自身のデータでも試してみてください!

コメント

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