文字列の一部分だけを取り出したいときに使う3つの関数、LEFT・RIGHT・MIDについて、使い方と内部のしくみを解説します。草野球の成績管理表でスコアブックメモから必要な部分だけを抜き出す場面を例に、初心者向けに丁寧に説明します。
LEFT・RIGHT・MID関数とは
3つとも「文字列の一部分だけを切り出す」関数で、やっていることは同じです。違うのはどこから切り出すかだけです。LEFTは先頭から、RIGHTは末尾から、MIDは指定した位置から、それぞれ指定した文字数だけ取り出します。
基本の書式はこうです。
=LEFT(文字列, 文字数) =RIGHT(文字列, 文字数) =MID(文字列, 開始位置, 文字数)
LEFTとRIGHTは「対象の文字列」と「何文字取り出すか」の2つだけを指定します。MIDだけは「対象の文字列」「何文字目から始めるか(開始位置)」「何文字取り出すか」の3つを指定する点が異なります。
成績管理表での実例:スコアブックメモから必要な部分を抜き出す
大阪グーニーズの個人成績シートに、試合ごとの出場内容をまとめて記録する「出場メモ」列(仮にF列とします)があるとします。守備位置(1文字)・背番号(2桁)・出場区分(2文字)を続けて入力する運用で、たとえば次のような表記になっています。
| 出場メモ | 守備位置 | 背番号 | 出場区分 |
|---|---|---|---|
| 投09先発 | 投 | 09 | 先発 |
| 捕22途中 | 捕 | 22 | 途中 |
| 一03先発 | 一 | 03 | 先発 |
F2セルに「投09先発」が入っているとき、守備位置・背番号・出場区分をそれぞれ取り出す式はこうなります。
守備位置: =LEFT(F2,1) 背番号 : =MID(F2,2,2) 出場区分: =RIGHT(F2,2)
先頭の1文字、2文字目から2文字分、末尾の2文字と、それぞれ狙った部分だけをピンポイントで取り出せていることが分かります。
守備位置を表示したいセルを選択し、「=LEFT(F2,1)」と入力してEnterキーで確定します。出場メモの先頭1文字だけが表示されます。
背番号を表示したいセルに「=MID(F2,2,2)」と入力します。「2文字目から2文字分」という意味で、出場メモの真ん中2文字が表示されます。
出場区分を表示したいセルに「=RIGHT(F2,2)」と入力します。末尾2文字が表示されるので、「先発」や「途中」といった区分が取り出せます。あとは1行分の式を作れば、他の行はコピーするだけで反映されます。
しくみを理解する:LEFT・RIGHT・MIDは何をしているのか
3つの関数はいずれも、文字列を「1文字ずつ数えられる並び」として扱い、指定された位置から指定された文字数だけを切り取っているだけです。
- LEFTは先頭(1文字目)を起点に、右方向へ指定文字数分を切り取る
- RIGHTは末尾を起点に、左方向へ指定文字数分を切り取る
- MIDは「開始位置」から右方向へ指定文字数分を切り取る。開始位置の数え方はLEFTと同じく1文字目を「1」とする
- 指定した文字数が実際の文字列の長さを超えていても、エラーにはならず、あるところまでを返すだけで止まる
よくあるミス:抜き出した文字がズレる原因
出場メモの入力時に、全角スペースが紛れ込んでいたり、半角のつもりが全角数字になっていたりすると、狙った文字数目の位置が変わってしまい、抜き出した文字がズレます。入力ルールをできるだけ統一しておくことが対策になります。
MIDは「開始位置」→「文字数」の順で指定しますが、これを逆に入力してしまうミスがよくあります。「=MID(F2,2,2)」のつもりが「=MID(F2,2,2)」の2番目と3番目を逆にした式になっていないか、入力後に一度確認する習慣をつけると安心です。
- LEFT・RIGHT・MIDは「文字列の一部分を切り出す」関数で、切り出す位置が違うだけ
- LEFTは先頭から、RIGHTは末尾から、MIDは開始位置を指定して途中から切り出す
- 成績管理表では、入力表記のゆれとMIDの引数の順序間違いが「抜き出した文字がズレる」の2大原因
次回予告
次回のテーマは「SPLIT関数」です。区切り文字を使って文字列を分割し、複数のセルに展開する仕組みを、スコアブックメモの分割を例に解説していきます。
▶︎ 次回:SPLIT関数の使い方としくみ



コメント