ExcelのLEFT関数の使い方|左から文字を抽出する基本と実務活用

スポンサーリンク

Excelで「文字列の先頭から何文字かだけ取り出したい」と思ったことはありませんか。商品コードの頭2文字でカテゴリを判定したり、郵便番号の上3桁で地域を分類したりと、左から数文字だけ抜き出したい場面は意外と多いですよね。手作業でやると件数が増えるほどミスも増えてしまいます。

そんなときに使えるのが LEFT関数 です。左端から指定した文字数を一発で取り出せるので、データ整理がぐっと楽になりますよ。この記事では、LEFT関数の基本構文からMID関数RIGHT関数との比較、FIND関数との組み合わせ、よくあるエラー対処、FAQまで実務に直結する知識を順に解説します。

対象バージョン: Excel 2016 / 2019 / 2021 / Microsoft 365(Windows・Mac共通)

  1. LEFT関数とは?文字列の左から取り出す関数
  2. LEFT関数の書き方(構文・引数)
    1. LEFT関数の基本構文
    2. 文字数を省略すると1文字が返る
    3. LEFT関数の全角・半角のカウント方法
  3. LEFT関数の基本的な使い方
    1. LEFT関数でセル参照から左から取り出す
    2. 文字数を多めに指定した場合のLEFT関数の動作
    3. LEFT関数の結果は常に文字列になる
  4. LEFT関数の実務活用パターン
    1. パターン1: 商品コードの頭2文字でカテゴリ判定(LEFT関数の基本活用)
    2. パターン2: 郵便番号の上3桁をLEFT関数で取り出す
    3. パターン3: 日付文字列から年だけLEFT関数で取り出す
    4. パターン4: LEFT関数とFIND関数で区切り文字の手前を取り出す
    5. パターン5: LEFT関数でメールアドレスから@より前を取り出す
    6. パターン6: LEFT関数で都道府県名を住所から抽出する
    7. LEFT関数の実務活用シーン早見表
  5. LEFT関数でよくあるエラーと対処法
    1. LEFT関数で#VALUE!エラーが出るケース
    2. LEFT関数を数値セルに使うと意図しない結果になる
    3. LEFT関数で空文字が返るケース
  6. LEFT関数とLEFTB関数の違い
  7. LEFT関数と似た関数の使い分け
    1. LEFT関数とMID関数の使い分け
  8. LEFT関数のよくある質問(FAQ)
    1. Q1. LEFT関数で取り出した数字を計算に使うには?
    2. Q2. LEFT関数とFIND関数を組み合わせたときにエラーが出ます
    3. Q3. LEFT関数で全角と半角を別々に数えたい
    4. Q4. LEFT関数で日付セルから年を取り出すと数字が変になります
    5. Q5. LEFT関数の結果をそのまま IF 関数の判定に使えますか?
    6. Q6. LEFT関数で複数の区切り文字に対応したい
  9. まとめ

LEFT関数とは?文字列の左から取り出す関数

ExcelのLEFT関数は、文字列の 左端(先頭)から指定した文字数 を取り出す関数です。読み方は「レフト」で、英語の「Left(左)」がそのまま由来になっています。

たとえば「東京都渋谷区」から「東京都」だけ取り出したり、「AB-001」から「AB」だけ取り出したり、といった操作が1つの関数で完了します。文字列をパーツに分解して別の列に並べたいときの定番ツールです。

Excelには文字を取り出す関数が3つあります。まずは全体像を表で確認しておきましょう。

関数取り出す位置引数使いどころ
LEFT先頭(左端)から文字列, 文字数先頭のコード・郵便番号上3桁など
RIGHT末尾(右端)から文字列, 文字数末尾の拡張子・年度下2桁など
MID任意の位置から文字列, 開始位置, 文字数コード中央の分類番号など

LEFT関数は「先頭から何文字」と指定するだけなので、3つの中で一番シンプルです。文字列操作の入門としてもおすすめですよ。なお、文字数を数えるLEN関数や、行数を数えるROWS関数もデータ整形の場面でセットで使えるので覚えておくと便利です。

LEFT関数の書き方(構文・引数)

LEFT関数の基本構文

LEFT関数の構文は次のとおりです。

=LEFT(文字列, [文字数])

引数は2つで、文字数は省略可能です。それぞれの役割を表で確認しましょう。

引数必須/省略可説明指定例
文字列必須取り出し元の文字列またはセル参照A1, “ABCDE”
文字数省略可先頭から何文字取り出すか(省略時は1)3 → 先頭3文字

文字数には正の整数を指定します。0を指定すると空文字、負の数を指定すると #VALUE! エラーになります。マイナス値は意図せず発生しやすいので注意してくださいね(後述の「よくあるエラー」で詳しく解説します)。

文字数を省略すると1文字が返る

文字数を省略した場合、先頭の 1文字だけ が返ります。

=LEFT("Excel")
→ 結果: "E"

「とりあえず先頭1文字がほしい」ときは、文字数を書かなくてOKです。ただし可読性の観点からは =LEFT(A1, 1) のように明示する方が、後で式を読み直したときにわかりやすくなります。

LEFT関数の全角・半角のカウント方法

LEFT関数では、全角文字も半角文字も 1文字=1 としてカウントされます。バイト単位ではなく、見た目どおりの文字数で数える点が重要です。

=LEFT("エクセル", 2)
→ 結果: "エク"

=LEFT("Excel", 2)
→ 結果: "Ex"

どちらも2文字として扱われます。バイト数で計算したい場合は後述のLEFTB関数を使いますが、通常の業務ではLEFT関数で問題ありません。

LEFT関数の基本的な使い方

LEFT関数でセル参照から左から取り出す

実務では直接値を書くよりセル参照を使うのが一般的です。セルA1に「PRD-001-BK」が入っている場合を見てみましょう。

=LEFT(A1, 3)
→ 結果: "PRD"

先頭から3文字分、つまり「PRD」が取り出されます。ハイフンやスペースも1文字としてカウントされるので注意してくださいね。商品コードのプレフィックスを抜き出す典型例です。

文字数を多めに指定した場合のLEFT関数の動作

「文字列の長さより大きい数を指定したらどうなるの?」と気になる方もいるかもしれません。結論から言うと、エラーにはなりません。文字列全体がそのまま返ります。

=LEFT("Hello", 100)
→ 結果: "Hello"

はみ出した分は無視されるので、安心して使ってください。長さがばらつくデータでも安全に処理できる仕様です。

LEFT関数の結果は常に文字列になる

LEFT関数の結果は 常に文字列 です。数字を取り出しても、そのままでは計算に使えません。

=LEFT("12345", 3)
→ 結果: "123"(文字列として返る)

取り出した数字でSUM関数やIF関数の計算をしたいときは、VALUE関数で数値に変換する必要があります。

=VALUE(LEFT(A1, 3))

VALUE関数で囲むだけで、数値として扱えるようになりますよ。逆に数値判定で =LEFT(A1, 3) = 123 のように比較すると常に FALSE になるので、比較対象も文字列にして = "123" と書くか、VALUE関数で数値化してから比較しましょう。

LEFT関数の実務活用パターン

ここからは、実務でよく使う活用パターンを紹介します。基本から応用まで段階的に見ていきましょう。

パターン1: 商品コードの頭2文字でカテゴリ判定(LEFT関数の基本活用)

商品コード「AB-001」「CD-002」のように、先頭2文字がカテゴリを表しているケースです。

=LEFT(A1, 2)
→ 結果: "AB"

取り出した2文字を使って、IF関数やVLOOKUP関数で分類処理につなげられます。LEFT関数は「他の関数への橋渡し役」としても活躍しますよ。たとえば次のようにマスタ表を参照すれば、コード先頭からカテゴリ名を引いてくることもできます。

=VLOOKUP(LEFT(A1, 2), カテゴリマスタ, 2, FALSE)

商品分類・店舗分類・部門コードなどで頻出のパターンです。

パターン2: 郵便番号の上3桁をLEFT関数で取り出す

「123-4567」形式の郵便番号から、上3桁(地域コード)を取り出す例です。

=LEFT(A1, 3)
→ 結果: "123"

先頭3文字を取るだけなので、ハイフンの位置を気にする必要はありません。郵便番号を地域ごとに集計・分類したいときに便利です。配送料区分の判定や、エリア別の売上集計でよく使う処理ですね。

パターン3: 日付文字列から年だけLEFT関数で取り出す

「2026-04-04」のようなテキスト形式の日付から年だけ取り出す場合です。

=LEFT(A1, 4)
→ 結果: "2026"

年が先頭4文字に入っているので、LEFT関数でスパッと取り出せます。ただし、セルが日付型(シリアル値)の場合は表示と異なる結果になるので注意が必要です。日付型の場合はTEXT関数で文字列に変換してから使いましょう。

=LEFT(TEXT(A1, "YYYY-MM-DD"), 4)

なお、シリアル値から年だけを数値で取り出したい場合は、専用のYEAR関数を使う方が確実です。LEFT関数はあくまで「文字列の左から取る」関数だと覚えておきましょう。

パターン4: LEFT関数とFIND関数で区切り文字の手前を取り出す

ここからが実務で大活躍するパターンです。「田中 太郎」からスペースの手前「田中」を取り出す場合を考えましょう。

姓の長さは人によって違うので、文字数を固定できません。こうした 可変長データ にはFIND関数(検索文字の位置を返す関数)が頼りになります。

=LEFT(A1, FIND(" ", A1) - 1)

この式を分解すると、次のとおりです。

  1. FIND(" ", A1) → スペースの位置を取得(「田中 太郎」なら3)
  2. - 1 → スペースの1つ手前まで(3-1=2文字)
  3. LEFT(A1, 2) → 先頭から2文字「田中」を取り出す

FIND関数が区切り文字の位置を自動で見つけてくれるので、姓が2文字でも3文字でも対応できますよ。「田中 太郎」「佐々木 花子」のように姓の長さが混在しても1つの式で処理できるのが大きなメリットです。

パターン5: LEFT関数でメールアドレスから@より前を取り出す

「tanaka@example.com」から「tanaka」を取り出すケースです。パターン4と同じ考え方で、区切り文字を @ に変えるだけで対応できます。

=LEFT(A1, FIND("@", A1) - 1)
→ 結果: "tanaka"

FIND("@", A1) で@の位置(7)を取得し、そこから1を引いた6文字をLEFTで取り出しています。社内データのユーザー名抽出や、顧客リストのドメイン振り分けなどで重宝するパターンです。

ただし、@が含まれないデータが混在する場合はFIND関数がエラーを返します。IFERROR関数(エラー時に別の値を返す関数)で囲んでおくと安心です。

=IFERROR(LEFT(A1, FIND("@", A1) - 1), "")

エラー時は空文字を返すので、他のデータに影響しません。

パターン6: LEFT関数で都道府県名を住所から抽出する

住所データから都道府県名だけを取り出す場面はとても多いですよね。ただし、都道府県名は「東京都」が3文字、「神奈川県」が4文字と長さが異なるのが厄介です。

IF関数を使って、4文字の都道府県かどうかで分岐させる方法が定番です。

=IF(MID(A1,4,1)="県", LEFT(A1,4), LEFT(A1,3))

この式の考え方はこうです。

  1. MID関数で4文字目を確認
  2. 4文字目が「県」なら4文字の県(神奈川県、和歌山県、鹿児島県)
  3. そうでなければ3文字(東京都、大阪府、北海道、その他の県)

「北海道」は3文字なので3文字パターンで取得できます。多くの実務データではこの方法で十分対応できますよ。顧客住所マスタの整備や、エリア別の集計表を作るときの基本テクニックです。

LEFT関数の実務活用シーン早見表

ここまで紹介したパターンを実務シーン別にまとめておきます。自分の業務に近いものから試してみてください。

業務シーンデータ例LEFT関数の式
商品分類AB-001=LEFT(A1, 2)
郵便番号の地域コード123-4567=LEFT(A1, 3)
文字列の日付から年抽出2026-04-04=LEFT(A1, 4)
氏名から姓抽出田中 太郎=LEFT(A1, FIND(" ", A1) - 1)
メールアドレスのユーザー名tanaka@example.com=LEFT(A1, FIND("@", A1) - 1)
住所から都道府県東京都渋谷区…=IF(MID(A1,4,1)="県", LEFT(A1,4), LEFT(A1,3))

LEFT関数でよくあるエラーと対処法

LEFT関数を使っていて「あれ?」となるケースをまとめました。事前に知っておくとトラブルを未然に防げます。

LEFT関数で#VALUE!エラーが出るケース

#VALUE! エラーの原因はほぼ1つです。

  • 文字数にマイナスの値を指定している
=LEFT(A1, -1)
→ #VALUE! エラー

FIND関数と組み合わせたときに起こりやすいパターンです。検索文字が見つからないとFIND関数が #VALUE! を返し、LEFT関数にも波及します。たとえば =LEFT(A1, FIND("-", A1) - 1) で対象文字列にハイフンが含まれていない場合、FIND がエラーになり結果として #VALUE! が出ます。

=IFERROR(LEFT(A1, FIND("-", A1) - 1), A1)

IFERROR関数で囲んでおけば、区切り文字がないデータでもエラーになりません。元の値をそのまま返す設計にしておくと、後工程での扱いが楽になります。

LEFT関数を数値セルに使うと意図しない結果になる

LEFT関数は文字列を扱う関数です。数値セルに使うと、書式に関係なくセルの実際の値から取り出されます。

たとえば、日付セルに 2026/4/4 と表示されていても、内部的にはシリアル値(46114のような数値)です。LEFT関数はこのシリアル値の先頭から取り出してしまいます。

=LEFT(A1, 4)  ← 日付セル
→ 結果: "4611"(表示値と異なる!)

対策は、TEXT関数で表示形式を文字列に変換してからLEFTを適用することです。

=LEFT(TEXT(A1, "YYYY/MM/DD"), 4)
→ 結果: "2026"

「セルに見えている値」と「実際の値」が違うことを意識しておくと、この種のトラブルを避けられますよ。

LEFT関数で空文字が返るケース

LEFT関数が空文字(””)を返すのは次のケースです。

  • 文字数に0を指定した場合
  • 参照セルが空の場合

どちらもエラーにはなりませんが、意図した結果かどうか確認しておきましょう。空セルを処理するときは、IF関数で事前にチェックする方法もあります。

=IF(A1="", "", LEFT(A1, 3))

これで空セルは空のまま返し、データがある行だけLEFT処理を実行できます。

LEFT関数とLEFTB関数の違い

LEFT関数とよく比較されるのがLEFTB関数です。両者の違いは 文字の数え方 にあります。LEFTB の「B」は Byte(バイト)の頭文字で、バイト単位で数える関数です。

項目LEFT関数LEFTB関数
カウント基準文字数(1文字=1)バイト数(全角=2、半角=1)
「Excel」の長さ55(すべて半角)
「エクセル」の長さ48(すべて全角)
主な用途一般的な文字抽出固定バイト長データの処理

LEFTB関数の構文はLEFT関数と同じです。

=LEFTB(文字列, [バイト数])

具体例で見てみましょう。「エクセル関数」から取り出す場合に結果が変わります。

=LEFT("エクセル関数", 3)
→ 結果: "エクセ"(3文字)

=LEFTB("エクセル関数", 3)
→ 結果: "エ"(3バイト = 全角1文字 + 半端な1バイトは切り捨て)

LEFTB関数は、全角文字を2バイト、半角文字を1バイトとして計算します。3バイト指定だと全角は1文字(2バイト)+余り1バイトとなり、半端な文字は切り捨てられます。

通常の業務では LEFT関数を使えば問題ありません。LEFTB関数が必要になるのは、レガシーシステムから出力された固定バイト長データ(COBOL系や銀行データなど)を扱うような限られた場面だけです。日常の名簿整理や売上集計では出番がほぼないので、LEFT関数を使い慣れることを優先しましょう。

LEFT関数と似た関数の使い分け

LEFT関数と併用する機会が多い関数を整理しました。文字列処理の引き出しを増やしておくと、複雑なデータ整形もスムーズに対応できますよ。

関数役割LEFTとの関係
RIGHT末尾から文字を取り出すLEFTの逆方向版
MID任意の位置から文字を取り出す中央の取り出しに使う
LEN文字数を数えるLEFTの文字数指定に活用
FIND検索文字の位置を返す可変長の区切り処理に必須
TRIM余分なスペースを除去するLEFT適用前のデータ前処理に
SUBSTITUTE文字列を置換する区切り文字の変換と組み合わせ
IFERRORエラー時に別の値を返すFIND連携時のエラー防止に

どの関数を使うか迷ったときは、次の判断フレームで選んでみてください。

  • 先頭から数えたほうが早い → LEFT関数
  • 末尾から数えたほうが早いRIGHT関数
  • 真ん中あたりにあるMID関数
  • 区切り文字の前後で分けたい → LEFT + FIND または MID + FIND
  • 末尾の区切り文字以降を取り出したい → RIGHT + FIND(応用)

LEFT関数とMID関数の使い分け

LEFT関数とMID関数はどちらも文字を抽出する関数ですが、使いどころが少し違います。

状況おすすめ
必ず先頭から取り出すLEFT関数
開始位置が2文字目以降MID関数
開始位置を可変にしたいMID + FIND

LEFT関数は「先頭から」が固定なので、開始位置を変える必要があるならMID関数の出番です。たとえばコード中央の3文字を取り出したい場合は =MID(A1, 4, 3) のように書きます。

文字列操作の関数を体系的に学びたい方は、Excelの文字列関数まとめもあわせてチェックしてみてくださいね。

LEFT関数のよくある質問(FAQ)

ここでは、LEFT関数についてよく寄せられる質問をまとめました。実務で迷ったときの早見集として活用してください。

Q1. LEFT関数で取り出した数字を計算に使うには?

A. LEFT関数の結果は文字列なので、計算に使うにはVALUE関数で数値に変換します。

=VALUE(LEFT(A1, 3))

または =LEFT(A1, 3) * 1 のように数値演算を加えても文字列を数値化できます。SUMやIFと組み合わせる前のひと手間として覚えておきましょう。

Q2. LEFT関数とFIND関数を組み合わせたときにエラーが出ます

A. FIND関数で検索文字が見つからないと #VALUE! エラーが出て、それがLEFT関数にも伝わります。IFERROR関数で囲むのが定番の対処です。

=IFERROR(LEFT(A1, FIND("-", A1) - 1), A1)

検索文字がないときは元の文字列をそのまま返す、空文字を返す、など要件に応じて分岐させましょう。

Q3. LEFT関数で全角と半角を別々に数えたい

A. LEFT関数は全角・半角を区別せず、すべて1文字として数えます。バイト単位で数えたいときはLEFTB関数を使います。ただし通常業務ではLEFT関数のほうが直感的なので、特別な要件がない限りLEFT関数で十分です。

Q4. LEFT関数で日付セルから年を取り出すと数字が変になります

A. 日付セルは内部的にシリアル値(数値)なので、LEFT関数がシリアル値の先頭を取り出してしまいます。TEXT関数で文字列に変換してから使いましょう。

=LEFT(TEXT(A1, "YYYY/MM/DD"), 4)

数値として年を取りたいだけなら、YEAR関数を使うのがシンプルです。

Q5. LEFT関数の結果をそのまま IF 関数の判定に使えますか?

A. 使えますが、比較する値も文字列で指定する必要があります。

=IF(LEFT(A1, 2) = "AB", "対象", "対象外")

数値と比較したい場合は、=IF(VALUE(LEFT(A1, 3)) > 100, ...) のようにVALUE関数で数値化してから比較しましょう。文字列と数値の比較は意図しない結果(常にFALSE)になることがあります。

Q6. LEFT関数で複数の区切り文字に対応したい

A. FIND関数を入れ子にするか、SUBSTITUTE関数で区切り文字を統一してから処理する方法があります。たとえばスペースか「-」のどちらかを区切りにしたい場合は、SUBSTITUTEで片方をもう片方に置換してからFIND+LEFTを適用するとシンプルです。

=LEFT(A1, FIND("-", SUBSTITUTE(A1, " ", "-")) - 1)

複雑な区切り処理が必要なときは、TEXTSPLIT関数(Microsoft 365)を検討するのもおすすめです。

まとめ

この記事では、ExcelのLEFT関数の使い方を基本から実務活用、FAQまで解説しました。最後にポイントを振り返りましょう。

  • LEFT関数は =LEFT(文字列, 文字数) で先頭から文字を取り出す
  • 文字数を省略すると 1文字だけ 返る
  • 文字数を多めに指定してもエラーにならず、文字列全体が返る
  • FIND関数と組み合わせれば、可変長の区切り文字にも対応できる
  • LEFTB関数はバイト単位で数える関数で、通常業務ではLEFTで十分
  • 結果は文字列になるので、数値として使うならVALUE関数で変換する
  • 区切り文字がないデータが混在するならIFERROR関数で安全に処理する

LEFT関数は文字列操作の基本中の基本です。まずは「先頭から何文字取り出す」というシンプルな使い方から試してみてください。FIND関数との組み合わせに慣れれば、データ整理の幅がぐっと広がりますよ。次のステップとしてRIGHT関数MID関数も合わせて覚えれば、文字列操作の達人に近づけます。

タイトルとURLをコピーしました