MID関数などを活用して特定の文字を簡単抜き出し[SUBSTITUTE関数で文字削除]

今回の記事では

Excelの関数を使って文字列から特定の文字を抜き出すにはどうしたら良いの?

特定の範囲で文字を抜き出す方法があったら知りたい

文字列から関数を使って特定の文字を削除する方法ってあるの?

必要ない部分を一括でサクッと消す方法があるなら知りたいです

こういった疑問に答えます

✔特定の位置まで簡単に文字を切り抜く方法のテーマ

①MID・FINE・LEN関数をネストさせれば特定の文字を簡単に抜き出せます

②SUBSTITUTE・FIND・LEN関数をネストさせて文字を削除させても簡単です

この記事を書いているのはOfficeを約20年間活用しながら

ITを活用したエステの経営マネジメントしている私の経験を基に

「特定の位置まで簡単に文字を切り抜く方法」に関して実体験に基づいて解説しています

今回の内容を一緒にやりたい場合は▼のファイルをダウンロードして下さい

MID・FINE・LEN関数をネストさせれば特定の文字を簡単に抜き出せます

文字列を扱う3つの関数を組み合わせれば狙い通りの文字を簡単に抜き出せます

なぜなら、1つの関数で文字列から狙い通りに文字を抜き出す方法が無いからです

今回は魚の「漢字と読み」を「()」抜きにして取り出す方法を例に解説します

まずは、目的を達成するための結論から見てみましょう

やりたいことは、「魚の名前列」の「魚の名前(よみがな)」から「魚の漢字とよみ」を別々のセルに表示することです

では、それぞれの式を見てみましょう

漢字の部分ですが、こちらはすごく簡単です

今回の場合1文字だけなので「=LEFT(A5,1)」と設定しています

LEFT関数の使い方は「=LEFT(文字列,文字数)」と指定します

これを日本語にすると「=LEFT(A5のセルの内容を,左から1文字分表示してね)」という意味です

漢字に関してはこれだけなので簡単ですね

続いてカッコの中から「よみ」を抜き出す方法を見てみましょう

式は「=MID(A5,FIND(“(“,A5)+1,LEN(A5)-FIND(“(“,A5)-1)」こんな感じで色々な工夫が必要です

では段階的に解説していきます

まずは、MID(ミッド)関数についてです

MID関数は「指定した位置~指定した位置までの間の文字列を抜き抜く関数」で使い方は「=MID(文字列,開始位置,文字数)」です

今回の式は「=MID(A5セルの内容を,FIND関数の結果~,LEN関数の計算結果まで表示してね)」といった感じです

とは言ってもまだ分かりづらいので、MID関数だけで「()内の文字を抜き出してみましょう」

ただ、MID関数だけで抜き出そうとても2文字分しか抜き出せません

つまり「いわし」の場合「い」から2文字分の「いわ」までしか取得出来ないんですね

この動きを一度図解してみましょう

こんな風に「ここから○文字分を取得してね」という関数なんです

つまり、「最初の文字の位置」と「○字目」を特定すること

コレが柔軟に設定できれば上手くいきそうです

まずは、「最初の文字の位置を特定する方法」を見ていきましょう

それが「FIND(“(“,A5)+1」の部分です

FIND(ファインド)関数は「調べたい文字が何文字目にあるか数えてくれる」関数です

FIND関数は「=FIND(検索文字列,対象)」と設定しますが、今回の式を日本語にしてみましょう

「FIND(「(」を検索してね,A5のセルの中から)最後に1を足してね」これだけです

この動きも図解にしてみましょう

こんな感じで「(」を見つけて「2」だと判断できたので、これに「1」を足してあげれば「3」ですよね

つまり、MID関数の「最初の文字の位置」を「FIND関数」を使って自動的に見つけることが出来ました

次は「○字目」を特定する必要があるので「LEN(A5)-FIND(“(“,A5)-1」とします

まずはLEN(レン)関数ですが、使い方は「LEN(文字列)」と指定します

LEN関数は指定した文字列の総数を数えてくれる関数です

今回の場合は答えは「5」です

すごく簡単ですよね

次は「FIND(“(“,A5)」ですがこれはさっきとほぼ同じ動きで答えは「2」です

ココまでを式にすると「5-2-1=2」となります

そして「FIND(“(“,A5)+1,LEN(A5)-FIND(“(“,A5)-1」を数字に置き換えると「FIND(3,2)」となります

つまり、「A5セルの3文字目~5文字目(2+3)までの文字列を表示して」という設定になる訳です

この方法であれば、「(」を指定して任意の文字数分の文字列を取得することが出来るというわけです

ちょっとむずかしい発想が必要かもしれませんが、文字列から任意の文字を抜き出したい時は、他の方法でも役に立つので少しずつで良いので使えるようになってみましょう

繰り返しになりますが、文字列を扱う3つの関数を組み合わせれば狙い通りの文字を簡単に抜き出せます

SUBSTITUTE・FIND・LEN関数をネストさせて文字を削除させても簡単です

SUBSTITUTE関数で任意の文字を削除させることでもうもっと簡単に特定の文字を抽出することが出来ます

なぜなら、必要な範囲の文字を全て取得して不要な文字列を削除した方が手間が減るからです

では実際に特定の文字を削除して同じ結果を実現する方法について見てみましょう

今回鍵になる関数はSUBSTITUTE(サブティチュート)関数です

この関数は「SUBSTITUTE(文字列,検索文字列,置換文字列)」と指定します

つまり、SUBSTITUTE関数は置換(ちかん)する関数で要は特定の文字を任意の文字に置き換えてくれる関数ということです

この関数の機能を応用すると「狙った文字を削除」することが出来ます

では、具体的な手順を見ていきましょう

結論から言うとこんな感じで「SUBSTITUTE関数」を使えば同じ結果を表示することが出来ます

今回のポイントは「=SUBSTITUTE(対象の文字列,”置換したい文字”,””)」と設定すると「置換したい文字を空白に置き換える=文字を消す」ことが出来るということです

今回の場合式が長く見えて分かりづらいので、D列とE列に段階的な処理の方法を分けたので順番に見ていきましょう

まずは、今までと同じように各関数を使って「(」以降の文字を全て抜き出します

この式を図解してみましょう

こんな風に「いわし)」という文字を取得出来ます

さて、仕上げに「)」が邪魔ですよね

これを「SUBSTITUTE関数の置換機能を使って指定の文字列を削除」しましょう

こんな風に設定すればOKです

「=SUBSTITUTE(D5,“)”,“”)」の式を日本語にすると「=SUBSTITUTE(D5セルの,「)」を,空白に置き換えてね)」

これだけなので簡単ですね

要は必要無い最後の「)」を置換機能で削除すれば、「抜き取りたい文字の最後の位置を特定する」という手間が省けるわけです

但し、それでも式が長くなって分かりづらい場合は列を分けて今回のように設定しても大丈夫です

ちなみに、列の非表示をすれば余計な式を隠しておくことも出来ます

こんな風にMID関数を中心にいらない文字を指定して削除することが出来れば、柔軟な文字の抜き取り作業を自動化できます

意外と手間が掛かりますが一度設定してしまえば、もっとデータが増えたとしても手軽に文字の抜き取りが出来るのでチャレンジしてみて損は無いですよ

繰り返しになりますが、SUBSTITUTE関数で任意の文字を削除させることでもうもっと簡単に特定の文字を抽出することが出来ます

オススメのExcel関数の解説書 5選

関数を本で学ぶ時は次に上げるものがオススメです

本を購入をオススメしている理由と各本の紹介に関して、下記の記事で詳しく解説しているので合わせて読んでみてください

コメントを残す

メールアドレスが公開されることはありません。