ExcelのLEFT関数の使い方をお探しですね。
広告
Excelで文字を取り出す!LEFT・RIGHT・MID関数の使い方
Excelで商品コードや郵便番号、住所、メールアドレスなんかを扱っていると、「左から3文字だけ取り出したいな」とか「右から4桁だけ残したい」「何文字目から後ろを削除したい」って場面、よくありますよね。
手作業でコピーしたり削除したりすると、データが多いほどミスも増えるし、修正にも時間がかかって大変です。
この記事では、ExcelのLEFT関数・RIGHT関数・MID関数を使って、文字を自由に取り出す方法と、いらない文字を削除する考え方を、初心者の方にも分かりやすく説明していきます。
1. LEFT・RIGHT・MID関数って何?文字を取り出す基本の考え方
ExcelのLEFT関数、RIGHT関数、MID関数は、セルに入っている文字列から必要な部分だけを取り出すための便利な関数です。
LEFT関数は左端から、RIGHT関数は右端から、MID関数は指定した途中の位置から文字を抽出してくれます。
例えば「123-4567」という郵便番号があったとします。
この中から「123」だけを取り出したいならLEFT関数、「4567」だけを取り出したいならRIGHT関数、真ん中の「-」だけを取り出したいならMID関数が使えるんです。
どの関数も、元のセルを直接書き換えるわけじゃなくて、別のセルに抽出した結果を表示する仕組みになっています。
だから元のデータはそのまま残せて、安心して加工できるのが大きなメリットですね。
基本の書き方はとってもシンプルです。
LEFT関数は「=LEFT(文字列,文字数)」、RIGHT関数は「=RIGHT(文字列,文字数)」、MID関数は「=MID(文字列,開始位置,文字数)」って入力します。
ここでいう「文字列」は、直接文字を入力してもいいし、セル番地を指定してもOKです。
例えばA2セルに「ABC-1234」って入っている場合、左から3文字を取り出すなら「=LEFT(A2,3)」、右から4文字を取り出すなら「=RIGHT(A2,4)」と書けばいいんです。
MID関数だけは「何文字目から取り出すか」を指定する必要があるので、引数が3つになります。
ちょっと注意したいのが、Excelでは文字の数え方が「左から1文字目、2文字目」って始まる点です。
プログラミングみたいに0番目から数えるわけじゃないので気をつけてください。
例えば「東京都渋谷区」という文字列で「渋谷区」を取り出したい場合、「東京都」は3文字なので、4文字目から取り出すことになります。
この場合は「=MID(A2,4,10)」のように指定できます。
取り出す文字数を実際より少し多めにしても、存在しない文字は無視されるので、住所みたいに長さがバラバラなデータでは便利ですよ。
2. LEFT関数とRIGHT関数の使い方|左端・右端から文字を取り出す
LEFT関数は、文字列の左側から指定した文字数を取り出したいときに使います。
よくある例としては、郵便番号の上3桁とか、商品コードの先頭分類、社員番号の部署コードなんかですね。
例えばA2セルに「123-4567」と入力されている場合、B2セルに「=LEFT(A2,3)」と入力すると、結果は「123」になります。
A2セルに「PRD001-東京」みたいな商品データが入っていて、先頭の「PRD001」だけを取り出したい場合も、文字数が決まっているなら「=LEFT(A2,6)」で対応できます。
左から何文字必要かがはっきりしているデータでは、LEFT関数が一番分かりやすい方法です。
RIGHT関数は、文字列の右側から指定した文字数を取り出す関数です。
郵便番号の下4桁、電話番号の下4桁、ファイル名の拡張子、コード末尾の連番なんかを取り出すときに便利ですね。
A2セルに「123-4567」が入っている場合、「=RIGHT(A2,4)」と入力すれば「4567」が返ってきます。
あと、桁数をそろえたいときにもRIGHT関数は役立ちます。
例えばA2セルに「7」「25」「318」みたいな数字があって、全部4桁のコードにしたい場合は「=RIGHT(“0000″&A2,4)」と入力します。
これで「0007」「0025」「0318」みたいに、右から4文字だけを残して桁をきれいにそろえられるんです。
ただし、LEFT関数とRIGHT関数は「取り出す文字数が決まっている場合」に向いています。
例えば「A-123」「ABCD-5678」みたいに、ハイフンより前の文字数が行ごとに違うデータでは、単純に「左から何文字」って指定できません。
こういう可変長の文字列では、あとで説明するSEARCH関数やFIND関数と組み合わせて、区切り文字の位置を探してから抽出する方法が実務的です。
決まった長さのデータならLEFT・RIGHTだけで十分ですが、区切り記号を基準に分割したい場合は、位置を調べる関数も一緒に使うと柔軟に対応できますよ。
3. MID関数の使い方|指定した「何文字目」から文字を抽出する
MID関数は、文字列の途中から必要な部分を取り出す関数です。
LEFT関数やRIGHT関数が端から取り出すのに対して、MID関数は「左から何文字目を開始位置にするか」を指定できるので、決まったフォーマットのデータ加工に向いています。
書き方は「=MID(文字列,開始位置,文字数)」です。
例えばA2セルに「ABCD-東京-001」という文字列があって、「東京」だけを取り出したい場合、左から6文字目が「東」で、取り出したい文字数は2文字なので「=MID(A2,6,2)」と入力します。
このように、開始位置と文字数を正しく数えることがMID関数のポイントなんです。
住所データから都道府県名を削除して市区町村名だけを残したい場合にも、MID関数は便利です。
例えばA2セルに「東京都新宿区西新宿」と入っていて、「東京都」を除いた「新宿区西新宿」を表示したいなら、「=MID(A2,4,100)」のように入力します。
「東京都」は3文字なので、4文字目から抽出するって考え方ですね。
最後の文字数に100みたいな大きめの数を指定しても、実際の文字列より長い部分は無視されるので、文字数が多少バラバラな住所でも使えます。
これは「何文字目以降を全部取り出す」実務でよく使うテクニックです。
MID関数を使うときは、開始位置を間違えないことが大事です。
例えば「株式会社ABC商事」から「ABC商事」を取り出したい場合、「株式会社」は4文字なので、開始位置は5になります。
式は「=MID(A2,5,100)」です。
もし開始位置を4にすると「社ABC商事」みたいに余計な文字が残っちゃうし、6にすると「BC商事」みたいに必要な文字が欠けちゃいます。
特に全角文字、半角文字、記号が混ざってるデータでは、見た目だけで判断せず、実際に左から何文字目かを確認しながら式を作ると失敗を防げますよ。
4. 指定した文字を削除する応用|LEN・SEARCHとの組み合わせと注意点
LEFT・RIGHT・MID関数は「抽出する関数」ですが、考え方を変えると「いらない文字を削除する関数」としても使えます。
例えば左から3文字を削除したい場合は、4文字目以降をMID関数で取り出せばいいんです。
A2セルの先頭3文字を削除するなら「=MID(A2,4,LEN(A2))」です。
LEN関数は文字列の長さを返す関数で、最後まで取り出したいときに使えます。
逆に、右から4文字を削除したい場合は、左側だけをLEFT関数で残します。
式は「=LEFT(A2,LEN(A2)-4)」です。
削除したい文字を直接消すんじゃなくて、「残したい部分だけを抽出する」って考えると理解しやすくなりますよ。
途中の文字を削除したい場合は、LEFT関数とRIGHT関数、またはMID関数を組み合わせます。
例えばA2セルに「123-4567」と入っていて、ハイフンを削除して「1234567」にしたい場合は「=LEFT(A2,3)&RIGHT(A2,4)」と入力します。
「&」は文字列をつなげる記号です。
決まった位置にある1文字を消すならこの方法で十分ですが、ハイフンの位置がデータによって変わる場合は、SEARCH関数を使って「-」が何文字目にあるかを調べると便利です。
例えばハイフンより左側を取り出すなら「=LEFT(A2,SEARCH(“-“,A2)-1)」、ハイフンより右側を取り出すなら「=MID(A2,SEARCH(“-“,A2)+1,LEN(A2))」と書けます。
SEARCH関数は、指定した文字が対象の文字列の中で何文字目にあるかを返す関数です。
大文字と小文字を区別しないで検索するので、普通の区切り文字探しには使いやすい関数ですね。
似た関数にFIND関数がありますが、FIND関数は大文字と小文字を区別します。
メールアドレスから「@」より前のユーザー名を取り出すなら「=LEFT(A2,SEARCH(“@”,A2)-1)」、ドメイン部分を取り出すなら「=MID(A2,SEARCH(“@”,A2)+1,LEN(A2))」です。
区切り文字が見つからない場合は「#VALUE!」エラーになるので、データに例外がある場合はIFERROR関数で「該当なし」なんかを表示させると実務で扱いやすくなります。
最後に、抽出結果の扱いにも注意が必要です。
LEFT・RIGHT・MID関数で取り出した結果は、見た目が数字でも文字列として扱われることがあります。
例えば郵便番号や商品コードみたいに先頭の0を残したいデータでは文字列のままで問題ありませんが、計算に使う数値として扱いたい場合はVALUE関数で数値に変換することもあります。
あと、文字数じゃなくてバイト数を基準に処理したい古いシステム連携のデータでは、LEFTB関数、RIGHTB関数、MIDB関数を使うケースもあります。
普通のExcel作業では、まずLEFT・RIGHT・MIDを覚えて、長さがバラバラなデータにはSEARCHやLENを組み合わせる流れを押さえておくと、文字の抽出や削除を効率よく行えますよ。
ぜひ試してみてくださいね!
広告
