LEFT関数・LEFTB関数の使い方|左から文字を取り出す・区切りの前まで取り出す

LEFT関数・LEFTB関数の使い方|左から文字を取り出す・区切りの前まで取り出す

エクセルで、文字列の左から(先頭から)決まった文字数を取り出すには、LEFT関数を使います。たとえば、商品コード「AB-1023」の先頭2文字は、=LEFT(A3,2) で「AB」と取り出せます。

LEFTB関数は、文字数の代わりにバイト数で数えて、左から取り出します。全角の文字は2バイト、半角の文字は1バイトです。=LEFTB(A7,7) は「Excel関数」の左から7バイトの「Excel関」を取り出します。

区切り文字(ハイフンや空白)の前までを取り出したいときは、FIND関数と組み合わせます。この記事では、LEFT関数の基本、区切りの前まで取り出す方法、バイト数で数えるLEFTB関数、うまくいかないときの直し方を、1つの表で説明します。下の練習ツールで、元の文字列を書き換えて結果の変わり方を試せます。

目次

LEFT関数・LEFTB関数の書き方

LEFT関数の構文
数式=LEFT(文字列,文字数)
ひとことで左から文字を取り出す
文字列
文字列です
文字数
取り出す文字数です
引数入れるものポイント
文字列取り出す元の文字列(セル番地)数値を指定しても、結果は文字列になります。
文字数左から取り出す文字数省略すると 1 文字です。元の文字数より多くても、エラーになりません。

LEFTB関数は、文字数の代わりにバイト数で数えます。日本語の環境では、全角の文字は2バイト、半角の文字は1バイトとして数えます。

LEFTB関数の構文
数式=LEFTB(文字列,バイト数)
ひとことで左から、バイト数で取り出す
文字列
元の文字列です
バイト数
取り出すバイト数です(全角は1文字2バイト)

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

LEFT関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
商品コードの先頭2文字=LEFT(A3,2)AB
住所の先頭3文字(都道府県)=LEFT(A4,3)東京都
日付の文字列から年=LEFT(A5,4)2026
ハイフンの前まで=LEFT(A6,FIND(“-“,A6)-1)TK
先頭の7バイト=LEFTB(A7,7)Excel関
文字数を省略=LEFT(A8)山
取り出した数字を数値にする=VALUE(LEFT(A10,2))45
エクセルのLEFT関数で文字列の先頭を取り出した表
エクセルのLEFT関数で文字列の先頭を取り出した表

左から決まった文字数を取り出す

手順:C3 に LEFT の式を入れて Enter

商品コード「AB-1023」の先頭2文字を取り出します。 C3 に次の式を入力して、Enter キーを押します❶。

C3 に入れる式
=LEFT(A3,2)
A3 文字列(商品コード)2 文字数(2文字)
ひとことで商品コードの左から2文字を取り出す
式を分けて読むと(色は画像の枠と同じ)
文字列A3
どの文字から?
→ 商品コードのセル
文字数2
何文字?
→ 左から2文字
自分の表で使うときは
青に元の文字のセル、オレンジに取り出す文字数を入れます。例:住所(B 列)の先頭3文字=LEFT(B2,3)
エクセルのLEFT関数で左から2文字を取り出す式と、元の文字列のセルを色分けした画面
エクセルのLEFT関数で左から2文字を取り出す式と、元の文字列のセルを色分けした画面

確認:左から2文字の「AB」が出た

エクセルのLEFT関数でAB-1023の左から2文字ABが取り出せたことを示した画面
エクセルのLEFT関数でAB-1023の左から2文字ABが取り出せたことを示した画面

答えは AB になりました❷。式は、次の順に計算しています。

  1. 「AB-1023」の左端から数える
    ⇒ A(1文字目)・B(2文字目)
  2. 2文字ぶんを取り出す
    ⇒ AB
ヒント:都道府県は文字数が違う
=LEFT(A4,3) で「東京都」は取れますが、「神奈川県」は4文字です。区切りの前まで取るときは、次の LEFT+FIND を使います。

区切り文字の前までを取り出す(LEFT+FIND)

「TK-5501」のハイフンより前のように、長さが決まっていない部分を取り出すときは、FIND関数で区切り文字の位置を探し、その1つ手前までを LEFT関数で取り出します。

LEFT関数の式
数式=LEFT(A6,FIND("-",A6)-1)
ひとことで左から文字を取り出す
A6
文字列です
FIND("-",A6)-1
取り出す文字数です

FIND関数はハイフンが 3 文字目にあることを返すので、3−1=2文字を取り出し、結果は TK です。氏名を姓と名に分けるときも同じ考え方です(姓と名に分割する方法)。FIND関数のくわしい使い方はFIND関数の使い方を参照してください。

練習用ファイルの表で試した結果です。=LEFT(A6,FIND("-",A6)-1) で、「TK-5501」の「-」より前の「TK」を取り出せました(③)。FIND で「-」の位置(3文字目)を探し、その1つ前までを LEFT で取り出しています。

エクセルのLEFT関数とFIND関数でハイフンの前までを取り出した例
エクセルのLEFT関数とFIND関数でハイフンの前までを取り出した例

バイト数で取り出す(LEFTB)

「Excel関数」は、半角の Excel が5バイト、全角の「関」「数」が2バイトずつです。=LEFTB(A7,7) は、左から7バイト(5バイト+2バイト)を取り出すので、結果は Excel関 です。

LEFTB関数の式
数式=LEFTB(A7,7)
ひとことで左から、バイト数で取り出す
A7
元の文字列です
7
取り出すバイト数です(全角は1文字2バイト)

全角と半角が混ざったデータを、決まった「桁数(バイト数)」でそろえる必要があるときに使います。ふつうに文字数で取り出すなら、LEFT関数で十分です。

ポイントポイント:LEFTB関数で、全角文字の途中(1バイト目)で区切られる位置を指定すると、その文字の代わりに空白が入ることがあります。バイト数は、全角文字の区切りに合わせて指定します。

=LEFTB(A7,7) は「Excel関」でした(③)。半角の「Excel」が5バイト、全角の「関」が2バイトで、合わせて7バイトです。

エクセルのLEFTB関数で先頭の7バイトを取り出した例
エクセルのLEFTB関数で先頭の7バイトを取り出した例

文字数を省略したとき・多すぎるとき

文字数を省略すると、先頭の1文字だけを取り出します。=LEFT(A8) は「山田」の 山 です。文字数が元の文字列より多いときは、エラーにならず、ある分だけを返します。=LEFT(A9,5) は ab です。

文字数を省略した =LEFT(A8) は「山」(②)、元より多い 5 文字を指定した =LEFT(A9,5) はエラーにならず「ab」でした(③)。

エクセルのLEFT関数で文字数を省略したときと元より多い文字数を指定したときの例
エクセルのLEFT関数で文字数を省略したときと元より多い文字数を指定したときの例

取り出した数字を計算に使う(VALUE)

LEFT関数の結果は、数字に見えても文字列です。数値「45678」の先頭2桁を取り出して計算に使うときは、VALUE関数で数値に戻します。

VALUE関数の式
数式=VALUE(LEFT(A10,2))
ひとことで文字を数値に変換
LEFT(A10,2)
数値に見える文字です

結果は数値の 45 です。文字列のままだと、右寄せにならなかったり、並べ替えが数値の順にならなかったりします(VALUE関数の使い方)。

VALUE で囲んだ C10 は右にそろった数値の 45(②)、VALUE なしの =LEFT(A10,2) は左にそろった文字の「45」です(③、比べるために練習用ファイルの表に D 列を足しました)。

エクセルでLEFT関数の結果をVALUE関数で数値に戻した例
エクセルでLEFT関数の結果をVALUE関数で数値に戻した例

LEFT関数がうまくいかないときの確認表

症状考えられる原因対処
「#VALUE!」になるFIND関数で探す文字が見つからない/文字数がマイナス区切り文字が入っているか確かめる。IFERROR関数で、見つからないときの表示を決める。
取り出した数字で計算できない結果が文字列になっているVALUE関数で数値に戻す。
日付から年が取れないセルが本物の日付(シリアル値)になっているYEAR関数を使う。LEFT関数だとシリアル値の先頭の数字が返る。
先頭に空白が入っている元のデータの前に空白があるTRIM関数で空白を取ってから LEFT関数を使う。
全角・半角で文字数がずれるLEFTB関数を使っている文字数で数えるなら LEFT関数を使う。

LEFT関数のよくある質問

右から取り出すには?

RIGHT関数を使います(RIGHT関数の使い方)。途中から取り出すときは MID関数です(MID関数の使い方)。

左から○文字を「削除」したいときは?

RIGHT関数と LEN関数を組み合わせて、残す部分を取り出します(左から・右から○文字削除する方法)。

LEFTB関数と LEFT関数の違いは?

LEFT関数は文字数、LEFTB関数はバイト数で数えます。日本語の環境では全角は2バイト、半角は1バイトです。全角と半角が混ざったデータをバイト数でそろえるときに使い、ふつうに文字数で取り出すなら LEFT関数で十分です。

LEFTB関数で全角文字の途中のバイト数を指定するとどうなりますか?

全角文字の途中(1バイト目)で区切られる位置を指定すると、その文字の代わりに空白が入ることがあります。バイト数は、全角文字の区切りに合わせて指定します。

あわせて読みたい:文字列を取り出す関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次