文字列の一部だけを取り出して使いたいときがあります。 その時には、LEFT関数、RIGHT関数、MID関数が便利です。
実際に操作するファイルはこちらからダウンロードできます。
[external_link_head]LEFT関数
文字列の左側から指定した文字数を取り出す関数です。
書式は次の通りです。
=LEFT(文字列,文字数)
例えば郵便番号0908603917の左から3文字を抜き出したいときは、次のようになります。
=LEFT("0908603917",3)
結果が123となります。
ダウンロードしたファイルの「LEFT関数」シートをご覧ください。
A列に郵便番号が入力されています。
では、実際にこの郵便番号の左側3文字を抜き出す計算をB列に行ってみましょう。
セルB1に
=LEFT(A1,3)
で、セルA1の文字の左側3文字を抜き出す計算式となりますので、入力します。
この計算式をB2からB10までコピーすれば、完成です。
[external_link offset=1]RIGHT関数
文字列の右側から指定した文字数を取り出す関数です。
書式は次の通りです。
=RIGHT(文字列,文字数)
例えば郵便番号0908603917の右から4文字を抜き出したいときは、次のようになります。
=RIGHT("0908603917",4)
結果が4567となります。
RIGHT関数の利用目的は、桁合わせに使われることが多いです。
ダウンロードしたファイルの「RIGHT関数」シートをご覧ください。
A列に1桁から4桁までの数字が入力されています。
例えば、2であれば0002、15であれば0015のようにすべてを4桁にしたいという場合があります。
このような時には次のような計算式を使います。
=RIGHT("000"&A1,4)
文字列「000」にA1の数値を結合し、右から4桁を抜き出すことで、すべて4桁にすることができます。
では実際にセルB1にこの計算式を入力し、B2からB10の範囲にコピーしてみましょう。
すべて4桁にすることができました。
MID関数
文字列の途中を抜き出す関数です。
書式は次の通りです。
=MID(元の文字列,抜き出したい初めの文字が何文字目か,抜き出したい文字数)
「苺グレープ林檎梨ミカン」から「林檎」を抜き出したいときは、林檎は6文字目から始まり、文字数が2文字なので、次の計算式になります。
=MID("苺グレープ林檎梨ミカン",6,2)
ダウンロードしたファイルの「MID関数」シートをご覧ください。
A1からA8までの範囲に「コード番号」が4文字、「科目名」が20文字、「販売指数」が6文字、それぞれが「:」で区切られて入力されています。
実際にB1からB8の範囲に科目名を抜き出してみましょう。
[external_link offset=2]セルA1から科目名を抜き出すには次の計算式になります。
=MID(A1,6,20)
コード番号4文字の後、区切り文字1文字が入り、科目名は6文字目から始まります。そこから20文字を抜き出します。
では実際にこの計算式をセルB1に入力し、セルB2からセルB8までコピーしましょう。
本来、MID関数は、間の文字を抜き出すというという関数なのですが、使い方を工夫すれば、何文字以降のすべての文字という使い方ができます。
A10からA17までの範囲に北海道の地区名が入力されています。ここからすべて北海道を削除した文字を抜き出したいのですが、文字数がバラバラで右側から何文字を抜き出すRIGHT関数が使えません。
そこで、MID関数で、4文字目以降、1000字(1000字はとても大きいですが、今回の場合、実際は10文字で十分です)を抜き出します。
セルB10の計算式は次の通りです。
=MID(A10,4,1000)
実際にセルB10に入力してみましょう。さらにB11からB17の範囲にコピーしてみましょう。
MID関数で指定する[抜き出したい文字数]は、実際に入力されている文字数よりも大きい数字でも構いません。実は20億文字以上でも設定できるのです。
まとめ
LEFT関数、RIGHT関数、MID関数は文字列操作関数です。
求めた結果は見た目上は数値であっても、数値ではなく文字となります。
単純な四則計算などは求めることができるのですが、複雑な計算やVLOOKUP関数などの値を検索する関数ではうまく計算できない場合があるので注意が必要です。
コンピュータで扱える文字には種類によってデータの大きさがあります。
半角英数字は1バイト、それ以外の漢字や全角文字は2バイトです。
文字数ではなくバイト単位で数える場合は「LEFTB関数」「RIGHTB関数」「MIDB関数」を使います。