Excel(エクセル)LEFT関数の使い方|左(先頭)から指定の文字数を抽出
LEFT関数はExcelで特定の文字列を抽出する関数の一つで、左側(文字列の先頭)から指定した数だけの文字を切り出します。ここではLEFT関数の使い方について、できるだけ分かりやすく図解します。
使用関数:LEFT
LEFT(レフト)関数とは?
LEFT関数はその名の通り、文字を左から取り出します。単独で使われることは少なく、RIGHT、FIND、MID、LEN、SUBSTITUTEなど他の関数と組み合わせた応用例の多い関数です。特に、LEFT関数、RIGHT関数とはセットで解説されることが多く、文字列の抽出に使用する関数のグループとしてまとめて覚えることをお勧めします。
関数名 | 文字列の抽出位置 | 引数 |
---|---|---|
LEFT | 左・先頭から | 文字列・文字数 |
MID | 任意の位置から | 文字列・開始位置・文字数 |
RIGHT | 右・後ろから | 文字列・文字数 |
全角が2、半角が1として文字を抽出するLEFTBについて
文字列操作の関数にはLEFTと1文字違いのLEFTBがありますが、この2つの関数の違いは単位です。Excelの文字単位には「文字数」と「バイト数」があり、LEFTBはバイト数(半角が1バイト、全角が2バイト)で左から文字を切り出します。LEFT関数が文字数3で抽出する漢字はLEFTB関数ではバイト数6で抽出することになります。
LEFT関数の基本的な使い方
LEFT関数をダイアログで組み立て、引数を確認してみましょう。
「数式」タブ→「関数ライブラリ」→「文字列操作」からLEFTをクリックします。
LEFT関数の書式の構成はこうなります。「文字列(必須)」と「文字数(任意)」です。
以下の文字列は顧客の分類コード1-分類コード2-識別番号からなる顧客コードです。ここからLEFT関数で分類コード1部分を取り出してみましょう。
第一引数「文字列」
文字を切り出す元の文字列を指定します。数値や文字列を直に入力するか、セルを参照、または数式を入力します。
この例では最初の顧客コードのセルをクリックして指定します。
第二引数「文字数」
左端(先頭)から何文字取り出すかを指定します。数値や数式を入力するか、セルを参照します。省略した場合は「1」を指定したと見なされます。
この例では「属性コード1」はすべて4文字なので、数値で「4」と入力します。
先頭から4文字までのコードが取得できました。下までオートフィルコピーして完了です。
シンプルな機能ですが、膨大なデータベースで実行する場合にはとても有用です。
LEFT関数で文字列化した数値を数値に変換する
LEFTは文字列操作の関数です。取り出された数値は文字列として表示されます。
例えば、数値の入ったセルを「文字列」に指定し、「文字数」を3と指定して返った結果「123」はセル内で左寄せになっていることから文字列に認定されたことが判ります。
これを計算に使いたいために数値に変換したいというなら、文字列のまま計算して問題ありません。それ以外で数値に変換させる必要がある時は、LEFT関数の数式ごとVALUE関数にネストする「=VALUE(LEFT(A2,3))」または、LEFT関数の数式の末尾に「/1」か「*1」を入力して「=LEFT(A2,3)/1、=LEFT(A2,3)*1」数値であるとExcelに認識してもらえば数値に変換されて表示が右寄せになります。
LEFT関数で日付から取り出せる?
「2022/7/13」という日付からLEFT関数で「年」を、MID関数で「月」を、RIGHT関数で「日」を取り出したくなるかもしれませんが、これはNGです。LEFT関数で文字数4を指定して年を取り出そうとしてもシリアル値の左から4個の数字が文字列で返されるだけです。
LEFT関数の組み合わせ応用例
LEFT関数と他の関数を組み合わせた応用例の幾つかを挙げておきます。
FIND関数とLEFT関数で特定の文字より前の文字列を取り出す
下図のメールアドレスからアカウント(@より前の部分)を取り出してみましょう。
まず、FIND関数で特定の文字(この例では@)の位置を取得します。
FIND関数の数式FIND(“@”,A2)をLEFT関数の第二引数「文字数」に入れ子しますが、この値のままだと「@」も含まれるので末尾に「-1」を入力します。
FIND関数とLEFT関数の組み合わせで特定の文字より前の文字列が取り出されました。オートフィルコピーして完了です。
数式 =LEFT(A2,FIND(“@”,A2)-1)
MID関数、IF関数とLEFT関数で住所から都道府県名を取り出す
以下の住所から都道府県名だけを取り出してみましょう。
都道府は全て3文字、県は3文字か4文字です。そこで、「MID関数で4文字目を取り出し、その値が”県”だったら」という論理式を組み立てます。
MID関数で左から4文字目を取り出すには、引数「開始位置」に「4」、引数「文字数」に「1」を指定します。
この数式をIF関数の「論理式」にペーストし、続けて、=”県”と入力します。
IF関数の「真の場合」に取り出す文字数を4と指定したLEFT関数をネスト(入れ子)し、「偽の場合」に取り出す文字数を3と指定したLEFT関数をネスト(入れ子)します。
MID関数、IF関数、LEFT関数で住所から都道府県名を抽出できました。オートフィルコピーして完了です。
数式 =IF(MID(A2,4,1)=”県”,LEFT(A2,4),LEFT(A2,3))
RIGHT関数とLEFT関数で文字列に区切りの文字を入れる
連続した顧客コードに区切りの文字(ここではハイフン)を入れて、先頭4文字の分類コードと識別番号9文字を切り分けます。
LEFT関数で左からの4文字を取り出す数式を組み立てます。
LEFT関数の数式の後に続けてハイフンを結合演算子&でつなぎます。
RIGHT関数で右からの9文字を取り出す数式を組み立て、結合演算子&の後に入力します。
RIGHT関数、LEFT関数で文字列に区切りの文字が入りました。オートフィルコピーして完了です。
数式 =LEFT(A2,4)&“-“&RIGHT(A2,9)
結合演算子&でつなぐ代わりにCONCATやTEXTJOIN関数を使っても同じ結果が得られます。
Excelで文字を連結する方法はこちらの記事で詳しく解説していますので、ご参照下さい。
LEFT関数と他の関数を組み合わせた応用例は以下の記事も参考にして下さい。
FIND・LEFT・RIGHT・LEN関数を組み合わせて名前の姓と名を分割
住所録の作成の過程で、印刷時にWordの差し込み印刷と連携するために姓と名を分割させておく手順です。
「氏名」の入力と同時に「姓」「名」を自動で分割表示、更に「フリガナ」も自動表示するよう設定する方法
FIND、MID、SUBSTITUTE、IFERROR、LEFT、LEN関数で住所の番地を漢数字から算用数字に変換
例えば、「東京都○区○○一丁目二番」という表記を「東京都○区○○1-2」にします。
漢数字で入力してある住所データの所番地を半角数字に置き換える方法

- LEFTは文字列の左端から指定した数の文字を抽出する関数です
- LEFT関数は全角でも半角でも1とカウントします。全角を2、半角を1と区別してカウントした文字を抽出するならLEFTBを使います
- LEFT関数の必須の引数は抽出元の「文字列」で、抽出する「文字数」の指定は任意です。省略すると文字数「1」を指定したことになります
- LEFT関数で数値を取り出すと文字列になります。数値に変換する必要があるならVALUE関数に入れ子するか数式の末尾に/1や*1を入力します
- LEFT関数、MID関数、RIGHT関数で日付から年月日を切り出すことはできません。YEAR・MONTH・DAYの各関数を使います
- 特定の文字より前の文字列を取り出すにはLEFT関数とFIND関数を組み合わせます
- 住所から都道府県名を取り出すにはMID関数、IF関数とFIND関数を組み合わせます
- 文字列に区切りの文字(ハイフンや空白)を入れるにはRIGHT関数、結合演算子とLEFT関数を組み合わせます