LEFT関数の使い方|左(先頭)から指定の文字数を抽出

Excel関数

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

LEFT関数の書式の構成はこうなります。「文字列(必須)」と「文字数(任意)」です。
LEFT関数の書式の構成

以下の文字列は顧客の分類コード1-分類コード2-識別番号からなる顧客コードです。ここからLEFT関数で分類コード1部分を取り出してみましょう。
LEFT関数で冒頭部分を取り出す顧客コード

第一引数「文字列」

文字を切り出す元の文字列を指定します。数値や文字列を直に入力するか、セルを参照、または数式を入力します。

この例では最初の顧客コードのセルをクリックして指定します。
LEFT関数の引数「文字列」を指定

第二引数「文字数」

左端(先頭)から何文字取り出すかを指定します。数値や数式を入力するか、セルを参照します。省略した場合は「1」を指定したと見なされます。

この例では「属性コード1」はすべて4文字なので、数値で「4」と入力します。
LEFT関数の引数「文字数」を指定

先頭から4文字までのコードが取得できました。下までオートフィルコピーして完了です。
LEFT関数の結果

シンプルな機能ですが、膨大なデータベースで実行する場合にはとても有用です。

LEFT関数で文字列化した数値を数値に変換する

LEFTは文字列操作の関数です。取り出された数値は文字列として表示されます。

例えば、数値の入ったセルを「文字列」に指定し、「文字数」を3と指定して返った結果「123」はセル内で左寄せになっていることから文字列に認定されたことが判ります。
LEFT関数で取り出した数値は文字列になる

これを計算に使いたいために数値に変換したいというなら、文字列のまま計算して問題ありません。それ以外で数値に変換させる必要がある時は、LEFT関数の数式ごとVALUE関数にネストする「=VALUE(LEFT(A2,3))」または、LEFT関数の数式の末尾に「/1」か「*1」を入力して「=LEFT(A2,3)/1、=LEFT(A2,3)*1」数値であるとExcelに認識してもらえば数値に変換されて表示が右寄せになります。
LEFT関数で取り出して文字列になった数値を数値に変換

LEFT関数で日付から取り出せる?

「2022/7/13」という日付からLEFT関数で「年」を、MID関数で「月」を、RIGHT関数で「日」を取り出したくなるかもしれませんが、これはNGです。LEFT関数で文字数4を指定して年を取り出そうとしてもシリアル値の左から4個の数字が文字列で返されるだけです。
LEFT関数で日付から抽出しようとした結果

日付からの抽出はYEARMONTHDAYの各関数を使いましょう。

LEFT関数の組み合わせ応用例

LEFT関数と他の関数を組み合わせた応用例の幾つかを挙げておきます。

FIND関数とLEFT関数で特定の文字より前の文字列を取り出す

下図のメールアドレスからアカウント(@より前の部分)を取り出してみましょう。
FIND関数とLEFT関数でアカウントを取り出すメールアドレス

まず、FIND関数で特定の文字(この例では@)の位置を取得します。
FIND関数で特定の文字の位置を取得

FIND関数の数式FIND(“@”,A2)をLEFT関数の第二引数「文字数」に入れ子しますが、この値のままだと「@」も含まれるので末尾に「-1」を入力します。
FIND関数の数式をLEFT関数の第二引数「文字数」にネストし、末尾に「-1」を入力

FIND関数とLEFT関数の組み合わせで特定の文字より前の文字列が取り出されました。オートフィルコピーして完了です。
FIND関数とLEFT関数の組み合わせで特定の文字より前の文字列を抽出

数式 =LEFT(A2,FIND(“@”,A2)-1)

MID関数、IF関数とLEFT関数で住所から都道府県名を取り出す

以下の住所から都道府県名だけを取り出してみましょう。
MID関数、IF関数、LEFT関数で都道府県名を取り出す住所

都道府は全て3文字、県は3文字か4文字です。そこで、「MID関数で4文字目を取り出し、その値が”県”だったら」という論理式を組み立てます。

MID関数で左から4文字目を取り出すには、引数「開始位置」に「4」、引数「文字数」に「1」を指定します。
MID関数で4文字目を取り出す指定

この数式をIF関数の「論理式」にペーストし、続けて、=”県”と入力します。
IF関数の論理式にMID関数をペーストし、="県"と入力

IF関数の「真の場合」に取り出す文字数を4と指定したLEFT関数をネスト(入れ子)し、「偽の場合」に取り出す文字数を3と指定したLEFT関数をネスト(入れ子)します。
IF関数の「真の場合」と「偽の場合」にLEFT関数をネスト

MID関数、IF関数、LEFT関数で住所から都道府県名を抽出できました。オートフィルコピーして完了です。
MID関数、IF関数、LEFT関数を組み合わせて住所から都道府県を抽出

数式 =IF(MID(A2,4,1)=”県”,LEFT(A2,4),LEFT(A2,3))

RIGHT関数とLEFT関数で文字列に区切りの文字を入れる

連続した顧客コードに区切りの文字(ここではハイフン)を入れて、先頭4文字の分類コードと識別番号9文字を切り分けます。
RIGHT関数とLEFT関数で区切りの文字を入れる顧客コード

LEFT関数で左からの4文字を取り出す数式を組み立てます。
LEFT関数で左からの4文字を取り出す

LEFT関数の数式の後に続けてハイフンを結合演算子&でつなぎます。
LEFT関数の数式の後に続けてハイフンを結合演算子&で結合

RIGHT関数で右からの9文字を取り出す数式を組み立て、結合演算子&の後に入力します。
RIGHT関数で右からの9文字を取り出す

RIGHT関数、LEFT関数で文字列に区切りの文字が入りました。オートフィルコピーして完了です。
RIGHT関数、LEFT関数を組み合わせて文字列に区切りの文字が入った

数式 =LEFT(A2,4)&“-“&RIGHT(A2,9)

結合演算子&でつなぐ代わりにCONCATやTEXTJOIN関数を使っても同じ結果が得られます。

Excelで文字を連結する方法はこちらの記事で詳しく解説していますので、ご参照下さい。

Excelで「文字列を結合する方法」を使い分ける
文字列を結合するには結合演算子または関数を使います。ここではExcelのバージョンによる最適な方法や、結合する文字列の多い少ない、配列同士の連結、区切り文字を挟んだ連結など、Excelで「文字列を結合する」方法を状況別に整理して解説しています

LEFT関数と他の関数を組み合わせた応用例は以下の記事も参考にして下さい。

FIND・LEFT・RIGHT・LEN関数を組み合わせて名前の姓と名を分割

住所録の作成の過程で、印刷時にWordの差し込み印刷と連携するために姓と名を分割させておく手順です。

「氏名」の入力と同時に「姓」「名」を自動で分割表示、更に「フリガナ」も自動表示するよう設定する方法

氏名を入力すると自動で「姓」「名」を分割し、フリガナを表示
手入力を必要最小限にするため関数をフル活用し、氏名入力と同時に「姓」「名」を自動分割。フリガナも自動表示

FIND、MID、SUBSTITUTE、IFERROR、LEFT、LEN関数で住所の番地を漢数字から算用数字に変換

例えば、「東京都○区○○一丁目二番」という表記を「東京都○区○○1-2」にします。

漢数字で入力してある住所データの所番地を半角数字に置き換える方法

住所の丁目、番を漢数字から算用数字に変換
住所データの所番地を半角数字に置き換える方法。「東京都○区○○一丁目二番」→「東京都○区○○1-2」
LEFT関数の使い方 まとめ
  • 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関数を組み合わせます
タイトルとURLをコピーしました