【Excel】特定の文字列が抽出できる!使えるエクセル文字列抽出関数! | 質問の答えを募集中です! 【Excel】特定の文字列が抽出できる!使えるエクセル文字列抽出関数! | 質問の答えを募集中です!

【Excel】特定の文字列が抽出できる!使えるエクセル文字列抽出関数!

パソコン

Excelで文字列を抽出する事は、覚えるととても便利です。筆者もこれらの関数は頻繁に活用しております。このまとめを参考に効率よく文字列を抽出出来るようになれたら幸いです。ちなみにこのまとめで使用する関数は、LEFT/MID/RIGHT/LEN/FIND/SEARCH です。

左側から文字列を取り出すときは「LEFT関数」。
中央部分から取り出すには「MID関数」。
右側から取り出すときは「RIGHT関数」。

MID関数の「MID」は英語の中央「middle」の頭3文字。
「RIGHT」と「LEFT」は言うまでもありませんね。

3つとも関数名がわかりやすいので覚えやすいと思います。

特定の文字列を自由自在に取り出す方法
http://allabout.co.jp/gm/gc/297786/

出典bizfaq.jp

参照する文字列の左側から指定した文字数分抽出する関数です。
文字数が固定の場合はこの関数を使えば間違いないです。

・参照セル=B1、B3などセルの場所を選択または記入
・文字数=数値

2.MID関数[基本](指定位置から文字抽出)

出典bizfaq.jp

参照する文字列の左から数えて何番目の文字、何文字抽出するか指定して抽出する関数です。

・参照セル=B1、B3などセルの場所を選択または記入
・開始位置=数値
・文字数=数値

出典bizfaq.jp

参照する文字列の右側から指定した文字数分抽出する関数です。
文字数が固定の場合はこの関数を使えば間違いないです。

・参照セル=B1、B3などセルの場所を選択または記入
・文字数=数値

抽出したい文字列の位置が流動(変化)する場合[応用]

無い場合はIF関数等で複数の条件を指定する場合があります。
この画像では、@が共通する文字です。
その場合は、(基本)で使用した「LEFT/MID/RIGHT」関数に「FIND/SEARCH」関数を組み合わせます。

ほとんどの文字列の場合は「FIND」関数だけでまかなえると思いますが、大文字や小文字を区別したりワイルドカード等を使用したい場合は、「SEARCH」関数を使用する方がいいかと思います。

FIND関数とSEARCH関数の2つの違い
http://excel-master.net/worksheet-function/find-search-difference/

数字の位置が数値として結果が出ます。

4.LEFT関数[応用](左から検索文字まで文字抽出)

【画像が見づらい場合の参考用計算式】
=LEFT(A1,FIND(“@”,A1)-1)
=LEFT(A2,FIND(“@”,A2)-1)
=LEFT(A3,FIND(“@”,A3)-1)
=LEFT(A4,FIND(“@”,A4)-1)
=LEFT(A5,FIND(“@”,A5)-1)

※@[アットマーク]を”[ダブルクォーテーション]で挟むのは文字であることを宣言しています。

5.MID関数[応用](検索文字Aから検索文字Bまで文字抽出)

開始位置は@+1文字。
文字数は(ドットまでの文字数-1)-(アットマークまでの文字数)にします

【画像が見づらい場合の参考用計算式】
=MID(A1,FIND(“@”,A1)+1,FIND(“.”,A1)-1-FIND(“@”,A1))
=MID(A2,FIND(“@”,A2)+1,FIND(“.”,A2)-1-FIND(“@”,A2))
=MID(A3,FIND(“@”,A3)+1,FIND(“.”,A3)-1-FIND(“@”,A3))
=MID(A4,FIND(“@”,A4)+1,FIND(“.”,A4)-1-FIND(“@”,A4))
=MID(A5,FIND(“@”,A5)+1,FIND(“.”,A5)-1-FIND(“@”,A5))

6.RIGHT関数[応用](右から検索文字まで抽出)

=LEN(指定セル)の関数を使えば、全文字数を数値として返すことができるので、そこから@までの数値をFIND関数で引けば、@以降の文字数が数値として使えます。

【画像が見づらい場合の参考用計算式】
=RIGHT(A1,LEN(A1)-FIND(“@”,A1))
=RIGHT(A2,LEN(A2)-FIND(“@”,A2))
=RIGHT(A3,LEN(A3)-FIND(“@”,A3))
=RIGHT(A4,LEN(A4)-FIND(“@”,A4))
=RIGHT(A5,LEN(A5)-FIND(“@”,A5))

7.抽出後、半角や特殊文字など余分な空白が出てしまう場合…

=trim(clean(を文頭に追加すると、前後の余分な空白が消せます。

8.文字列も置き換えたい場合…

Replace(“対象セル”,”置換前の文字列”,”置換え後の文字列”)

“(ダブルクォーテーション)で挟むと文字列、無しでやる場合はセルや関数もいけます。例えば改行を消したい場合は、置換え前の文字列にCHAR(10)を入れて、置換え後にはただ””のみをいれます。
例:対象の文字列がA10なら REPLACE(A10,CHAR(10),””)となります。
※”[ダブルクォーテーション]2つで「何も無い=空白」を表してます。

★本まとめで用いた関数一覧

●LEFT:左端から指定した文字数分の文字列を抽出します
●MID:指定した位置から指定した文字数分の文字列を抽出します
●RIGHT:右端から指定した文字数分の文字列を抽出します
◆FIND:ある文字列を検索する関数(大文字小文字を判別可、ワイルドカード使用不可)
◆SEARCH:ある文字列を検索する関数(大文字小文字を判別不可、ワイルドカード使用可)
★LEN:指定したセルの全文字数を返します
▼TRIM:セル内の余分なスペースを削除することができます
▼CLEAN:印刷できない文字を文字列からすべて削除します。
■REPLACE:指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します。
■CHAR:CHAR 関数は、文字コードを表す数値をASCII またはJIS に対応する文字に変換することができます。計算式や置換えで改行などに”Alt+Enter”を使っているような方にオススメです。
例:char(9)=タブ、char(10)=改行[LF (Line Feed) /unix❲Windows❳系]、char(13)=改行[CR (Carriage Return)/mac系]、char(33)=!、char(34)=”、char(35)=#、char(36)=$、char(37)=%、char(38)=& 等



 ⬇人気の記事!⬇

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