LEFT・RIGHT・MID関数の使い方|文字の一部を取り出す
※写真はイメージです
書き方はこれだけ
=LEFT(文字, 文字数) =RIGHT(文字, 文字数) =MID(文字, 何文字目から, 文字数)LEFTは左から、RIGHTは右から、MIDは途中から、決まった文字数を取り出します。ここまでは簡単で、つまずくのは区切りの位置が毎回違うときです。そのときはFIND関数で区切り(@や-)の位置を探して組み合わせます。文字数はLEN関数で数えられます。
=RIGHT(A2,3) で右から3文字、年は =MID(A2,4,4) で4文字目から4文字です。この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
3つの関数とLEN
| 関数 | やること | 例(A2が「TK-2026-015」) | 結果 |
|---|---|---|---|
| LEFT | 左から | =LEFT(A2,2) | TK |
| RIGHT | 右から | =RIGHT(A2,3) | 015 |
| MID | 途中から | =MID(A2,4,4) | 2026 |
| LEN | 文字数を数える | =LEN(A2) | 11 |
全角も半角も、1文字は1文字として数えます。
区切りの位置が毎回違うとき(FIND)
| 取り出したいもの | 式 |
|---|---|
| @より後ろ(ドメイン) | =MID(A2,FIND("@",A2)+1,100) |
| 「-」の前まで | =LEFT(A2,FIND("-",A2)-1) |
| 姓(空白の前まで) | =LEFT(A2,FIND(" ",A2)-1) |
| 名(空白より後ろ) | =MID(A2,FIND(" ",A2)+1,20) |
姓と名の間の空白が全角か半角かで、FINDの " " を合わせる必要があります。まずTRIMやSUBSTITUTEで空白をそろえておくと確実です。
うまくいかないとき
1#VALUE! になる
FINDで探した文字(@や-)が、その行にありません。
直し方IFERRORで包むか、元のデータを確かめます。
2数字が文字になって計算できない
"015"15LEFT・RIGHT・MIDの結果は文字です。
直し方=VALUE(RIGHT(A2,3)) のように VALUE で数値に直します。
31文字ずれる
FINDの位置そのものに区切りの文字が入っています。
直し方前までなら -1、後ろからなら +1 します。
サンプルファイルで試す
黄色のセルにLEFT・RIGHT・MIDの式を入れて、「答え」のシートと比べてください。
よくある質問
全角と半角で文字数は変わりますか?
LEFT・RIGHT・MID・LENでは、全角も半角も1文字として数えます。バイト数で数えたいときはLENBなどの「B」の付く関数を使います。
住所から都道府県を取り出せますか?
「都・道・府・県」の位置で分ける方法がありますが、「京都府」のように途中に「都」がある例もあるので、4文字目が「県」かどうかで分ける式などを使います。都道府県の一覧表から探すほうが確実です。
Googleスプレッドシートでも使えますか?
はい。LEFT・RIGHT・MID・LEN・FINDはそのまま使えます。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報