スプレッドシートのLEFT関数の使い方|左から文字取得

スポンサーリンク

スプレッドシートのLEFT関数の使い方で悩んでいませんか?住所から都道府県名だけ、商品コードの先頭2文字だけを取り出したい場面はよくありますよね。

でも、文字列の一部を手作業で切り出すのは大変です。データ件数が増えるほど、時間もミスも増えていきます。

LEFT関数を使えばこの作業が一瞬で完了します。この記事では基本構文から実務での活用例、エラー対処法まで丁寧に解説します。

LEFT関数とは?スプレッドシートで左から文字を取り出す基本構文

LEFT関数は、セルの文字列を左端から指定した文字数だけ取り出す関数です。一度覚えれば様々な場面で使えますよ。

「LEFT(レフト)」は英語で「左」を意味します。文字列の左側(先頭)から切り出す動作を表しています。ExcelとGoogleスプレッドシートで完全に互換性があるので、両方で使えます。

書き方(構文)と引数の意味

=LEFT(文字列, [文字数])
引数必須/省略可説明
文字列必須取り出し元のセルまたはテキスト
文字数省略可取り出す文字数(省略時は1文字を返す)

文字数は省略できます。省略すると先頭の1文字だけが返されます。

全角・半角は関係なく、どちらも1文字=1文字としてカウントされます。バイト数で計算したい場合はLEFTB関数を使いますが、通常のテキスト処理ではLEFTで十分です。

基本的な使用例

セルA1に「東京都渋谷区」と入力されているとします。

=LEFT(A1, 3)  → 「東京都」
=LEFT(A1, 1)  → 「東」
=LEFT(A1)     → 「東」(文字数省略時も1文字を返す)

先頭から何文字取り出すか指定するだけです。とてもシンプルですね。

実務でよく使うLEFT関数の活用例

LEFT関数が実際の業務でどう役立つか、よく使うパターンを3つ紹介します。

都道府県名を住所から抽出する

住所の一覧から都道府県名だけを取り出したいとき、LEFT関数が使えます。

都道府県名は「東京都」「大阪府」「愛知県」のような3文字が多いです。この場合はLEFT(A2, 3)で抽出できます。

=LEFT(A2, 3)  → 「東京都」「大阪府」「愛知県」

「神奈川県」「和歌山県」のような4文字の都道府県もあります。その場合はIF関数との組み合わせが必要ですが、まずは3文字パターンから慣れていきましょう。

郵便番号の上3桁(地域コード)を取り出す

「123-4567」という形式の郵便番号から、上3桁を取り出す例です。

=LEFT(A2, 3)  → 「123」

先頭から3文字を取るだけです。ハイフンの位置を意識する必要はありません。

郵便番号を地域ごとに集計・分類したい場面でよく使います。

商品コードの先頭2文字で分類する

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

=LEFT(A2, 2)  → 「AB」「CD」など

取り出した2文字をキーにして、VLOOKUPやIF関数で分類処理につなげられます。LEFT関数は「他の関数のインプットを作る」役割でもよく使われますよ。

LEFT・RIGHT・MIDの違いと使い分け

文字列を取り出す関数にはLEFT以外に「RIGHT」と「MID」があります。どれも文字列の一部を切り出す関数ですが、取り出す位置が異なります。

3関数の比較一覧

関数取り出す位置構文使用例
LEFT左端(先頭)から=LEFT(文字列, 文字数)都道府県名、カテゴリコード
RIGHT右端(末尾)から=RIGHT(文字列, 文字数)年号の下2桁、ファイル拡張子
MID任意の開始位置から=MID(文字列, 開始位置, 文字数)電話番号の市外局番、コードの中間部分

どれを使うか迷ったときの判断フレーム

取り出したい文字がどこにあるかで選べます。

  • 先頭から数えたほうが早い → LEFT
  • 末尾から数えたほうが早い → RIGHT
  • 真ん中あたりにある → MID

「2024-03-18」から年を取りたいなら、先頭4文字なのでLEFT(A1, 4)です。日だけなら末尾2文字なのでRIGHT(A1, 2)になります。

よくあるエラーと対処法

LEFT関数で思ったとおりに動かないときのパターンを解説します。

数値セルに使うとうまくいかない(TEXT関数との組み合わせ)

LEFT関数は文字列を扱う関数です。数値セルに使うと意図しない結果になる場合があります。

A1に数値1234567が入っている場合、通常の整数ならこれで動きます。

=LEFT(A1, 3)  → 「123」(一見うまくいく)

ただし日付や通貨形式など、書式が設定されている場合は注意が必要です。表示値ではなくシリアル値から切り出されることがあります。

確実に表示どおりに切り出したいときは、TEXT関数で文字列に変換してからLEFTを使いましょう。

=LEFT(TEXT(A1, "0"), 3)

ちょっとむずかしく見えますが、やっていることはシンプルです。TEXT関数で数値を文字列に変えて、それをLEFTで切り出しているだけですよ。

文字数を超えて指定しても大丈夫?

「5文字しかないテキストにLEFT(A1, 100)と指定したら?」という疑問を持つ方もいますよね。

答えは「エラーにならず、テキスト全体を返す」です。

=LEFT("Hello", 100)  → 「Hello」(はみ出した分は無視)

安心して使ってください。ただし、マイナスの文字数を指定すると#VALUE!エラーになります。

=LEFT(A1, -1)  → #VALUE!エラー

文字数に0を指定すると空文字列("")が返ります。これはエラーではありません。

FIND関数と組み合わせて可変長の切り出しをする(応用)

LEFT関数は文字数を固定して切り出します。でも「何文字か分からないけど、ある文字の手前まで取り出したい」というケースもありますよね。

そこで便利なのがFIND関数との組み合わせです。FINDは大文字と小文字を区別して検索します。区別が不要な場合はSEARCH関数を使ってください。

メールアドレスからユーザー名を取り出す

メールアドレスの@より前の部分を取り出す例です。

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

ちょっとむずかしく見えますが、分解すると簡単です。

  1. FIND("@", A1)@ が何文字目かを数値で取得する
  2. そこから1を引いて「@の直前の文字位置」を計算する
  3. その数値をLEFTの文字数として渡す

「tanaka@example.com」なら@は7文字目です。7-1=6なのでLEFT(A1, 6)と同じ動作になり、結果は「tanaka」です。

IFERRORでエラーを防ぐ

対象セルに@がない場合、FINDはエラーを返します。エラーを防ぐにはIFERRORでラップしましょう。

=IFERROR(LEFT(A1, FIND("@", A1)-1), "該当なし")

@があればユーザー名を、なければ「該当なし」を返します。実務データは必ずしもきれいとは限りません。このIFERRORパターンは覚えておくと役立ちますよ。

まとめ

LEFT関数の要点を整理します。

ポイント内容
基本構文=LEFT(文字列, 文字数)
文字数省略省略すると1文字を返す
文字数超過エラーにならずテキスト全体を返す
マイナス指定#VALUE!エラーになる
ゼロ指定空文字列("")を返す
全角・半角どちらも1文字としてカウント

LEFT関数は文字列操作の基本中の基本です。まずは「先頭から何文字取り出す」というシンプルな使い方から試してみてください。

慣れてきたらFIND関数との組み合わせにも挑戦してみましょう。可変長の切り出しができるようになると、実務でのデータ整理の幅が一気に広がりますよ。

RIGHT関数(末尾から切り出し)やMID関数(任意の位置から切り出し)についても近日中に解説予定です。文字列操作シリーズとして順次公開していくので、楽しみにしていてください。

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