ExcelのLEFT関数の使い方|文字列の左から指定文字数を取り出す方法

スポンサーリンク

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

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

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

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

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

たとえば「東京都渋谷区」から「東京都」だけ取り出す、「AB-001」から「AB」だけ取り出す、といった操作が1つの関数で完了します。

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

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

LEFT関数は「先頭から何文字」と指定するだけなので、3つの中で一番シンプルです。 文字列操作の入門としてもおすすめですよ。

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

基本構文

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

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

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

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

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

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

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

「とりあえず先頭1文字がほしい」ときは、文字数を書かなくてOKです。

全角・半角のカウント方法

LEFT関数では、全角文字も半角文字も 1文字=1 としてカウントされます。

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

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

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

LEFT関数の基本的な使い方

セル参照で先頭から取り出す

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

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

先頭から3文字分、つまり「PRD」が取り出されます。 ハイフンやスペースも1文字としてカウントされるので注意してくださいね。

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

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

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

はみ出した分は無視されるので、安心して使ってください。

結果は常に文字列になる

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

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

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

=VALUE(LEFT(A1, 3))

VALUE関数で囲むだけで、数値として扱えるようになりますよ。

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

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

パターン1: 商品コードの頭2文字でカテゴリを判定する

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

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

取り出した2文字を使って、IF関数やVLOOKUP関数で分類処理につなげられます。 LEFT関数は「他の関数への橋渡し役」としても活躍しますよ。

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

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

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

先頭3文字を取るだけなので、ハイフンの位置を気にする必要はありません。 郵便番号を地域ごとに集計・分類したいときに便利です。

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

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

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

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

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

パターン4: 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文字でも対応できますよ。

パターン5: メールアドレスから@より前のユーザー名を取り出す

「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: 都道府県名を住所から抽出する

住所データから都道府県名だけを取り出す場面はとても多いですよね。 ただし、都道府県名は「東京都」が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関数を使っていて「あれ?」となるケースをまとめました。

#VALUE!エラーが出るケース

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

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

FIND関数と組み合わせたときに起こりやすいパターンです。 検索文字が見つからないとFIND関数が #VALUE! を返し、LEFT関数にも波及します。

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

IFERROR関数で囲んでおけば、区切り文字がないデータでもエラーになりません。

数値セルで意図しない結果になるケース

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

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

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

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

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

空文字が返るケース

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

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

どちらもエラーにはなりませんが、意図した結果かどうか確認しておきましょう。

LEFT関数とLEFTB関数の違い

LEFT関数とよく比較されるのがLEFTB関数です。 両者の違いは 文字の数え方 にあります。

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

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

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

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

まとめ

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

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

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

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