- 公開日:
- 更新日:
ExcelのLEFT関数の使い方|指定した数の文字を左/先頭から取り出す
本記事では、ExcelのLEFT関数を使用して、文字列から指定した数の文字を左端(先頭)から取り出す方法をご紹介しています。
その他FIND関数やIF関数、LEN関数などと組み合わせてLEFT関数を使う方法についても記載しておりますので、ご参考にしてください。
LEFT関数とは?
LEFT(レフト)関数とは、文字列の左端(先頭)から指定された数の文字を取り出すことができる関数です。
例えば上の画像では、郵便番号の左から3文字を取り出すLEFT関数がC3~C7のセルに入力されています。
LEFT関数の用法
LEFT関数の用法としては、例えば以下のようなことが可能です。その他の関数と組み合わせることで、活用方法はより広がります。
- 在庫管理で商品番号の大まかな区分を取り出す
- 住所録などから郵便番号や電話番号などの情報を取り出す
- 名簿から苗字だけを取り出す
LEFT関数の書式
まずは、LEFT関数の書式を確認していきましょう。
LEFT関数の書式は「=LEFT(文字列,[文字数])」のように引数を最大2つ使用します。引数を1つずつ確認していきましょう。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返す際の判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
第1引数(文字列)
1番目の引数は「文字列」です。この引数は必須です。取り出す文字を含む文字列を指定します。
第2引数(文字数)
2番目の引数は「文字数」です。この引数は任意です。取り出す文字数を指定します。
文字数には0以上の数値を指定する必要があり、この引数を省略すると、文字数は1として結果が返されます。また、文字数が文字列の文字数を超える場合は、文字列全体が返されます。
LEFT関数の使い方
LEFT関数の基本的な使い方について解説します。
基本的な操作方法
ExcelのLEFT関数を使用して、指定した数の文字を左端(先頭)から取り出す方法をご紹介します。
Excelファイルを開きます。今回はLEFT関数を使用して、郵便番号の上3桁を取り出す場合を例に解説します。
関数を入力します。【任意のセル(例:C3)】を選択し、『=LEFT(』と入力します。
文字列を指定します。「=LEFT(」に続けて、『B3,』と入力します。
文字数を指定します。「=LEFT(B3,」に続けて、『3)』と入力します。
数式をオートフィルでコピーします。【関数を入力したセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向に【ドラッグ】します。
数式がコピーされ、郵便番号の上3桁を取り出すことができました。
取り出した数字を数値に変換する方法
LEFT関数で取り出した数字は、数値ではなく文字列として反されています。
画像のように、文字列の数字は左寄せ、数値の数字は右寄せで表示されます。
文字列として取り出された数字は、何らかの数値演算を行うと、数値に変換できます。
取り出した数字を数値に変換する方法は、以下の通りです。
Excelファイルを開きます。B3セルに入力された郵便番号の上3桁を数値として取り出す場合を例に解説します。
【任意のセル(例:C3)】を選択し、『=LEFT(B3,3)』と入力します。
値に変化を与えない何らかの演算を数式に追加します。
今回は「=LEFT(B3,3)」に続けて『*1』と入力し、Enterを押します。
「*1」は前の数字に1を掛け算する数式ですが、「*1」以外にも「+0」や「-0」、「/1」でも同様に値に変化を与えず数値に変換することが可能です。
数字が数値に変換されて取り出されました。
特定の文字の前までを取り出す方法
LEFT関数で特定の文字の前までの文字列を取り出すには、FIND関数を組み合わせて使います。
詳細は以下の記事「左から検索文字までの文字列を抽出する」のセクションをご参照ください。
FIND関数の「検索文字列」の引数には、「" "」と入力して空白を指定することも可能です。
他の関数と組み合わせる/応用編
LEFT関数×FIND関数
LEFT関数をFIND関数と組み合わせて使う方法については、上記「特定の文字の前までを取り出す方法」のセクションをご参照ください。
LEFT関数×RIGHT関数
LEFT関数とRIGHT関数を組み合わせて、文字列に特定の文字を追加する方法をご紹介します。
RIGHT関数の書式は「=RIGHT(文字列,[文字数])」です。
Excelファイルを開きます。LEFT関数とRIGHT関数を組み合わせて、連続した数字で入力された郵便番号の間にハイフンを入れる場合を例に解説します。
LEFT関数を入力します。【任意のセル(例:C3)】を選択し、『=LEFT(』と入力します。
LEFT関数の文字列を入力します。C3セルの「=LEFT(」に続けて『B3,』と入力します。
LEFT関数の文字数を入力します。C3セルの「=LEFT(B3,」に続けて『3)』と入力します。
追加したい文字を入力します。C3セルの「=LEFT(B3,3)」に続けて『&"-"&』と入力します。
RIGHT関数を入力します。C3セルの「=LEFT(B3,3)&"-"&」に続けて『RIGHT(』と入力します。
RIGHT関数の文字列を入力します。C3セルの「=LEFT(B3,3)&"-"&RIGHT(」に続けて『B3,』と入力します。
RIGHT関数の文字数を入力します。C3セルの「=LEFT(B3,3)&"-"&RIGHT(B3,」に続けて『4)』と入力します。
Enterを押します。
数式をオートフィルでコピーします。【関数を入力したセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向に【ドラッグ】します。
郵便番号にハイフンを追加して表示することができました。
LEFT関数×SEARCH関数
LEFT関数とSEARCH関数を組み合わせて、指定した文字の前までの文字列を取り出す方法をご紹介します。
SEARCH関数の書式は「=SEARCH(検索文字列,対象,[開始位置])」で、上記で取り上げたFIND関数と基本的な使い方は同じです。
SEARCH関数とFIND関数の相違点としては、検索文字列で大文字と小文字の区別がされるか、ワイルドカード(「*」や「?」)の使用ができるかといった違いが挙げられます。
大文字と小文字の区別はFIND関数ではされますが、SEARCH関数ではされません。ワイルドカードの使用はSEARCH関数では可能ですが、FIND関数では不可となっています。
Excelファイルを開きます。メールアドレスの一覧で、@の前までの文字列を取り出す場合を例に解説します。
LEFT関数を入力します。【任意のセル(例:C3)】を選択し、『=LEFT(』と入力します。
LEFT関数の文字列を入力します。C3セルの「=LEFT(」に続けて、『B3,』と入力します。
LEFT関数の文字数の引数にSEARCH関数を入力します。C3セルの「=LEFT(B3,」に続けて、『SEARCH(』と入力します。
SEARCH関数の検索文字列を入力します。C3セルの「=LEFT(B3,SEARCH(」に続けて、『"@"』と入力します。
SEARCH関数の対象を入力します。C3セルの「=LEFT(B3,SEARCH("@",」に続けて、『B3)』と入力します。
検索結果に@を含めないために、数式を追加します。C3セルの「=LEFT(B3,SEARCH("@",B3)」に続けて、『-1)』と入力します。
Enterを押します。
数式をオートフィルでコピーします。【関数を入力したセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向に【ドラッグ】します。
@の前までの文字列を取り出すことができました。
LEFT関数×IF関数×MID関数
LEFT関数にIF関数とMID関数を組み合わせて、住所から都道府県名だけを取り出す方法をご紹介します。
IF関数の書式は「=IF(論理式,[値が真の場合],[値が偽の場合])」です。使い方の詳細は、以下の記事をご参照ください。
ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐
MID関数の書式は「=MID(文字列,開始位置,文字数)」です。使い方の詳細は、以下の記事をご参照ください。
ExcelのMID関数の使い方|任意の位置から指定された文字数を抽出
Excelファイルを開きます。各住所から都道府県名のみを取り出す数式を作ります。
表中の都道府県名の文字数に注目すると、名称は3文字か4文字に分類されていることが分かります。
例えば長野県や奈良県、千葉県、また県以外の北海道や東京都、大阪府は3文字、その他の神奈川県や鹿児島県は4文字に分類されます。
このことから、IF関数とMID関数を組み合わせて、4文字目に「県」の文字がある場合にはLEFT関数で上から4文字を取り出し、4文字目に「県」の文字がない場合にはLEFT関数で上から3文字を取り出すという式を作ります。
IF関数を入力します。【任意のセル(例:C3)】を選択し、『=IF(』と入力します。
IF関数の論理式の引数にMID関数を入力します。C3セルの「=IF(」に続けて、『MID(』と入力します。
MID関数の文字列を指定します。C3セルの「=IF(MID(」に続けて、『B3,』と入力します。
MID関数の開始位置を指定します。C3セルの「=IF(MID(B3,」に続けて、『4,』と入力します。
MID関数の文字数を指定します。C3セルの「=IF(MID(B3,4,」に続けて、『1)』と入力します。
MID関数で指定した位置の文字が「県」である、という意味のIF関数の論理式を入力します。C3セルの「=IF(MID(B3,4,1)」に続けて、『="県",』と入力します。
指定した論理式の値が真の場合にどう処理するか、LEFT関数を入力します。C3セルの「=IF(MID(B3,4,1)="県",」に続けて、『LEFT(』と入力します。
LEFT関数の文字列を指定します。C3セルの「=IF(MID(B3,4,1)="県",LEFT(」に続けて、『B3,』と入力します。
LEFT関数の文字数を指定します。C3セルの「=IF(MID(B3,4,1)="県",LEFT(B3,」に続けて、『4),』と入力します。
指定した論理式の値が偽の場合にどう処理するか、LEFT関数を入力します。C3セルの「=IF(MID(B3,4,1)="県",LEFT(B3,4),」に続けて、『LEFT(』と入力します。
LEFT関数の文字列を指定します。C3セルの「=IF(MID(B3,4,1)="県",LEFT(B3,4),LEFT(」に続けて、『B3,』と入力します。
LEFT関数の文字数を指定します。C3セルの「=IF(MID(B3,4,1)="県",LEFT(B3,4),LEFT(B3,」に続けて、『3))』と入力します。
Enterを押します。
数式をオートフィルでコピーします。【関数を入力したセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向に【ドラッグ】します。
都道府県名のみを取り出すことができました。
LEFT関数×LEN関数
LEFT関数とLEN関数を組み合わせて、右端(末尾)から指定した数の文字を削除して文字列を取り出す方法をご紹介します。
LEN関数の書式は「=LEN(文字列)」です。使い方の詳細は、以下の記事をご参照ください。
ExcelのLEN関数の使い方|半角と全角の区別なく文字数を返す
Excelファイルを開きます。上の画像のように「種類(在庫)」で表示された果物の「(在庫)」部分を削除して「種類」のみを取り出す場合を例に解説します。
例えば「りんご(5)」なら右から3文字の「(5)」を削除して「りんご」の文字列のみを取り出します。
LEFT関数を入力します。【任意のセル(例:C3)】を選択し、『=LEFT(』と入力します。
LEFT関数の文字列を指定します。C3セルの「=LEFT(」に続けて、『B3,』と入力します。
LEFT関数の文字数の引数にLEN関数を入力します。C3セルの「=LEFT(B3,」に続けて、『LEN(』と入力します。
LEN関数の文字列を指定します。C3セルの「=LEFT(B3,LEN(」に続けて、『B3)』と入力します。
LEN関数で指定した文字列の文字数から、3文字分を引く数式を追加します。C3セルの「=LEFT(B3,LEN(B3)」に続けて、『-3)』と入力します。
Enterを押します。
数式をオートフィルでコピーします。【関数を入力したセル(例:C3)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向に【ドラッグ】します。
すべて右から3文字が削除され、果物の種類のみを取り出すことができました。
LEFT関数で日付から年を取り出すことはできるか?
関数を使用して、日付から年を取り出す方法をご紹介します。
LEFT関数で日付から年を取り出そうとして左から4文字を引数で指定しても、シリアル値が返されてしまい、年を取り出すことができません。
日付から年を取り出すには、YEAR関数を使用します。YEAR関数の書式は、「=YEAR(シリアル値)」です。
YEAR関数を入力します。【任意のセル(例:C3)】を選択し、『=YEAR(』と入力します。
シリアル値を指定します。C3セルの「=YEAR(」に続けて、『B3)』と入力します。
Enterを押します。
日付から年が取り出されました。
VBAのLEFT関数について
VBA(マクロ)でもLeft関数を使用すると、文字列の左端(先頭)から指定した文字数分の文字列を取り出せます。
構文は「Left(文字列,文字数)」のように記述します。
Left関数の戻り値は、数字のデータであったとしてもString(文字列)型で返されます。
SQL ServerのLEFT関数について
SQL Serverとは、Microsoftが提供しているリレーショナルデータベース管理システム(RDBMS)です。
ExcelのLEFT関数と同様にSQL Serverでも、LEFT関数は文字列の左端(先頭)から指定した文字数分の文字列を取り出せます。
構文は「LEFT(文字列,文字数)」のように記述します。
LEFT関数の戻り値は、数字のデータであったとしても文字列型で返されます。
現在広く使われているデータベース管理ソフトでは、日本語の文字コードをサポートしており全角文字を1文字として数えることが多いですが、データベース管理ソフトによっては全角文字を2文字と数える場合もありますのでご注意ください。