ピアのパソコン学習ガイド
メニュー
Excel関数

LEFT・RIGHT・MID関数の使い方|文字の一部を取り出す

ピアのパソコン学習ガイド 編集部2026年11月9日 更新

※写真はイメージです

書き方はこれだけ

=LEFT(文字, 文字数) =RIGHT(文字, 文字数) =MID(文字, 何文字目から, 文字数)

LEFTは左から、RIGHTは右から、MIDは途中から、決まった文字数を取り出します。ここまでは簡単で、つまずくのは区切りの位置が毎回違うときです。そのときはFIND関数で区切り(@や-)の位置を探して組み合わせます。文字数はLEN関数で数えられます。

左から2文字を取り出す B2 fx =LEFT(A2,2) A B C D 1 2 3 商品コード 分類 番号 文字数 TK-2026-015 TK 015 11 BS-2025-102 BS 102 11
商品コード TK-2026-015 の左から2文字で「TK」。番号は =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)

@の前までを取り出す C2 fx =LEFT(A2,FIND("@",A2)-1) A B C 1 2 3 メールアドレス @の位置 ユーザー名 sato@example.jp 5 sato suzuki.k@example.jp 9 suzuki.k
FIND("@",A2)で@が何文字目にあるかを探し、その1つ前までをLEFTで取り出しています。ユーザー名の長さが違っても同じ式で取り出せます。
取り出したいもの式
@より後ろ(ドメイン)=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数字が文字になって計算できない

LEFTなどの結果"015"
≠
数値にしたいとき15

LEFT・RIGHT・MIDの結果は文字です。

直し方=VALUE(RIGHT(A2,3)) のように VALUE で数値に直します。

31文字ずれる

FINDの位置そのものに区切りの文字が入っています。

直し方前までなら -1、後ろからなら +1 します。

サンプルファイルで試す

黄色のセルにLEFT・RIGHT・MIDの式を入れて、「答え」のシートと比べてください。

left.xlsx をダウンロード(無料・登録なし)

よくある質問

全角と半角で文字数は変わりますか?

LEFT・RIGHT・MID・LENでは、全角も半角も1文字として数えます。バイト数で数えたいときはLENBなどの「B」の付く関数を使います。

住所から都道府県を取り出せますか?

「都・道・府・県」の位置で分ける方法がありますが、「京都府」のように途中に「都」がある例もあるので、4文字目が「県」かどうかで分ける式などを使います。都道府県の一覧表から探すほうが確実です。

Googleスプレッドシートでも使えますか?

はい。LEFT・RIGHT・MID・LEN・FINDはそのまま使えます。

一緒に覚えたい関数・操作

このページについて

操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報