- 商品コードの先頭3文字だけ取り出したい
- 電話番号の末尾4桁を抜き出したい
- 氏名から名前だけを切り取りたい
こういった「文字列の一部を取り出したい」場面で使うのが、LEFT関数・RIGHT関数・MID関数です。
この3つを覚えるだけで、手作業でコピペしていた作業が数式一発で片付くようになります。
この記事では、各関数の基本的な使い方から実務でよく使うパターンまで解説します。
3つの関数の役割
| 関数名 | 取り出す位置 | 使用例 |
|---|---|---|
| LEFT関数 | 文字列の左端から指定文字数 | 先頭の都道府県コード、商品カテゴリ |
| RIGHT関数 | 文字列の右端から指定文字数 | 末尾の枝番、電話番号下4桁 |
| MID関数 | 文字列の途中から指定文字数 | コードの中間部分、日付の月部分 |
LEFT関数:左端から取り出す
LEFT関数は指定した文字を先頭(左端)から取り出してくれる関数です。
構文
=LEFT(文字列, 文字数)
使い方
A2に「ABC-1001」という商品コードが入っていて、左端3文字「ABC」を取り出す場合:
=LEFT(A2, 3)

都道府県名の先頭3文字を取り出したいときも同様です。
例:「東京都新宿区〇〇」から都道府県名(3文字)だけ取り出す
=LEFT(A2, 3) → 「東京都」

RIGHT関数:右端から取り出す
LEFT関数は指定した文字を末尾(右端)から取り出してくれる関数です。
構文
=RIGHT(文字列, 文字数)
使い方
A2に「ABC-1001」という商品コードが入っていて、右端4文字「1001」を取り出す場合:
=RIGHT(A1, 4)

電話番号の下4桁や、コードの末尾の枝番を取り出す場面でよく使います。
例:「03-1234-5678」から下4桁を取り出す
=RIGHT(A2, 4) → 「5678」

MID関数:途中から取り出す
構文
=MID(文字列, 開始位置, 文字数)
| 引数 | 内容 |
|---|---|
| 文字列 | 取り出し元のセルまたは文字列 |
| 開始位置 | 取り出しを始める文字の位置(左端が1) |
| 文字数 | 取り出す文字の数 |
使い方
A2に「ABC-1001-XY」という文字列が入っていて、5文字目から4文字「1001」を取り出す場合:
=MID(A2, 5, 4)
「ABC-」が4文字なので、5文字目から始まる4文字を取り出しています。

例:「20260531」という日付文字列から月「05」を取り出す
=MID(A2, 5, 2) → 「05」

LEN関数と組み合わせると便利
文字数が一定でないデータを扱う場合は、LEN関数(文字数を返す関数)と組み合わせると柔軟に対応できます。
例:「田中 太郎」のように姓と名の間にスペースがある場合
・LEN(A2) → 全体の文字数を取得
・FIND(" ", A2) → スペースの位置を取得
姓だけ取り出す:=LEFT(A2, FIND(" ", A2)-1)
名だけ取り出す:=MID(A2, FIND(" ", A2)+1, LEN(A2))
FIND関数でスペースの位置を動的に取得することで、姓の文字数が異なってもズレなく取り出せます。

よく使う実務パターン
| やりたいこと | 数式例 |
|---|---|
| 商品コード「ABC-1001」の分類(左3文字) | =LEFT(A2, 3) |
| 商品コード「ABC-1001」の番号(右4文字) | =RIGHT(A2, 4) |
| 「20260531」から年(左4文字) | =LEFT(A2, 4) |
| 「20260531」から月(5文字目から2文字) | =MID(A2, 5, 2) |
| 「20260531」から日(7文字目から2文字) | =MID(A2, 7, 2) |
| スペースで区切られた姓だけ取り出す | =LEFT(A2, FIND(" ", A2)-1) |
よくあるミスと対処法
| 症状 | 原因 | 対処法 |
|---|---|---|
| 取り出した数値が計算に使えない | LEFT/RIGHT/MIDは文字列を返す | VALUE関数で数値に変換:=VALUE(LEFT(A2,3)) |
| MIDで意図した位置がズレる | 開始位置の数え方を間違えている | 左端を1として数え直す |
| スペースの位置がFINDで見つからない | 全角スペースと半角スペースが混在している | データを統一するか、FIND(" ", A2)とFIND(" ", A2)を両方試す |
まとめ
- LEFT:左端から指定文字数を取り出す。商品コードの分類や都道府県名の抽出に
- RIGHT:右端から指定文字数を取り出す。枝番や電話番号下4桁の抽出に
- MID:途中から指定文字数を取り出す。日付の年月日分割やコード中間部の抽出に
- 文字数が一定でない場合はLEN・FIND関数と組み合わせて柔軟に対応できる
- 取り出した値を計算で使いたい場合はVALUE関数で数値に変換する
この3つの関数は覚えてしまえば応用範囲がとても広く、文字列データを扱う場面で毎回活躍します。
まずはLEFT関数で商品コードの先頭を取り出すところから、ぜひ試してみてください!