【Excel】LEFT・MID・RIGHT関数で文字列を切り出す!Excelのテキスト処理の基本パターン

【Excel】LEFT・MID・RIGHT関数で文字列を切り出す!Excelのテキスト処理の基本パターン
🛡️ 超解決

Excelで特定の文字列だけを取り出したい場面は多いでしょう。例えば、顧客リストの氏名から姓だけを抽出したり、商品コードの一部だけを抜き出したりする際に、LEFT関数、MID関数、RIGHT関数が役立ちます。これらの関数を使いこなせば、煩雑なテキストデータの整形作業を効率化できます。この記事では、Excelのテキスト処理の基本となるLEFT、MID、RIGHT関数の使い方を、具体的な例を交えて解説します。

【要点】LEFT・MID・RIGHT関数で文字列を切り出す基本

  • LEFT関数: 文字列の左端から指定した文字数だけ切り出す。
  • RIGHT関数: 文字列の右端から指定した文字数だけ切り出す。
  • MID関数: 文字列の指定した位置から指定した文字数だけ切り出す。

ADVERTISEMENT

LEFT・MID・RIGHT関数の概要とできること

LEFT、MID、RIGHT関数は、Excelで文字列を部分的に抽出するための基本的な関数です。これらの関数は、データの前処理や、特定の情報を集計する際などに頻繁に使用されます。例えば、住所から都道府県名だけを取り出したり、電話番号から市外局番だけを抽出したりといった作業で活躍します。これらの関数を理解することで、Excelでのデータ分析やレポート作成の幅が大きく広がります。

LEFT関数は文字列の左側から、RIGHT関数は右側から、MID関数は指定した位置から文字列を切り出します。それぞれの関数には、対象となる文字列、切り出す文字数、そしてMID関数には開始位置を指定する必要があります。これらの引数を正しく設定することで、目的の文字列を正確に抽出できます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

LEFT関数で文字列の左側から切り出す方法

LEFT関数は、文字列の左端から指定した文字数分の文字列を返します。例えば、「東京都千代田区」という文字列から、左端から2文字を取り出したい場合に利用します。この関数は、データから特定のプレフィックス(接頭辞)だけを抽出する際などに便利です。

LEFT関数の構文は以下の通りです。

`=LEFT(text, [num_chars])`

`text`には対象となる文字列、または文字列が入力されているセルを指定します。`[num_chars]`には、左端から切り出したい文字数を指定します。この引数を省略すると、通常は1文字だけが切り出されます。

  1. LEFT関数を入力する
    文字列がA1セルにある場合、結果を表示したいセルに「=LEFT(A1,」と入力します。
  2. 切り出す文字数を指定する
    続けて、左端から切り出したい文字数を入力します。例えば3文字なら「3」と入力し、「=LEFT(A1,3)」とします。
  3. Enterキーで確定する
    数式を入力したらEnterキーを押し、結果を確認します。

RIGHT関数で文字列の右側から切り出す方法

RIGHT関数は、文字列の右端から指定した文字数分の文字列を返します。例えば、「商品コード-XYZ123」という文字列から、右端の「XYZ123」を取り出したい場合に適しています。商品番号の末尾部分だけを抽出する際などに活用できます。

RIGHT関数の構文は以下の通りです。

`=RIGHT(text, [num_chars])`

`text`には対象の文字列またはセルを指定します。`[num_chars]`には、右端から切り出したい文字数を指定します。この引数を省略すると、通常は1文字だけが切り出されます。

  1. RIGHT関数を入力する
    文字列がA1セルにある場合、結果を表示したいセルに「=RIGHT(A1,」と入力します。
  2. 切り出す文字数を指定する
    続けて、右端から切り出したい文字数を入力します。例えば4文字なら「4」と入力し、「=RIGHT(A1,4)」とします。
  3. Enterキーで確定する
    数式を入力したらEnterキーを押し、結果を確認します。

ADVERTISEMENT

MID関数で文字列の途中から切り出す方法

MID関数は、文字列の指定した位置から、指定した文字数分の文字列を切り出します。LEFT関数やRIGHT関数では対応できない、文字列の真ん中の部分を抽出したい場合に必須の関数です。例えば、「氏名:山田太郎」という文字列から「山田」や「太郎」だけを取り出す際に利用します。

MID関数の構文は以下の通りです。

`=MID(text, start_num, num_chars)`

`text`には対象の文字列またはセルを指定します。`start_num`には、切り出しを開始する位置(何文字目からか)を指定します。1文字目を1として数えます。`num_chars`には、切り出したい文字数を指定します。

  1. MID関数を入力する
    文字列がA1セルにある場合、結果を表示したいセルに「=MID(A1,」と入力します。
  2. 開始位置を指定する
    次に、何文字目から切り出すかを指定します。例えば5文字目からなら「5」と入力します。
  3. 切り出す文字数を指定する
    続けて、切り出したい文字数を指定します。例えば3文字なら「3」と入力し、「=MID(A1,5,3)」とします。
  4. Enterキーで確定する
    数式を入力したらEnterキーを押し、結果を確認します。

LEFT・MID・RIGHT関数でよくある入力ミスと対処法

LEFT関数で指定文字数を超えてしまう

LEFT関数で指定した文字数よりも短い文字列しか返されない場合、それは元の文字列の長さが指定した文字数よりも短いことが原因です。例えば、5文字指定しても元の文字列が3文字しかない場合、3文字しか返されません。これはエラーではなく、関数の仕様通りの動作です。

対処法としては、IF関数とLEN関数を組み合わせる方法があります。LEN関数で元の文字列の長さを取得し、その長さが指定文字数より短い場合にのみ、指定文字数までを切り出すようにIF関数で条件分岐させます。

RIGHT関数で意図しない文字列が切り出される

RIGHT関数で意図しない文字列が切り出される場合、指定した開始位置や文字数が間違っている可能性があります。特に、文字列の末尾に不要なスペースが含まれていると、それが切り出されてしまうことがあります。TRIM関数を使って、あらかじめ不要なスペースを削除してからRIGHT関数を適用すると、この問題を回避できます。

例えば、A1セルの文字列の右端から5文字を、不要なスペースを除いて取得したい場合は、「=RIGHT(TRIM(A1),5)」のように記述します。

MID関数で開始位置の指定を間違える

MID関数で最も間違いやすいのは、開始位置(`start_num`)の指定です。文字列の1文字目を1として数えることを忘れて0やマイナスを指定すると、エラーや意図しない結果になります。また、全角文字と半角文字が混在している場合、Excelが文字数をどうカウントするか注意が必要です。通常は1文字としてカウントされますが、環境によっては異なる場合があります。

確認方法としては、LEN関数で文字列の長さを取得し、MID関数の開始位置と文字数を再確認することが重要です。また、FIND関数やSEARCH関数を使って、特定の文字の位置を検索し、その結果をMID関数の開始位置に指定することで、より柔軟な文字列抽出が可能になります。

LEFT・MID・RIGHT関数が使えない場合

これらの関数が期待通りに動作しない場合、対象のセルが文字列ではなく数値や日付として認識されている可能性があります。セルの書式設定を確認し、必要であれば文字列に変更してください。また、セルに数式ではなく、直接「’123」のようにアポストロフィを付けて入力すると、数値でも文字列として扱われます。

Excel 2019やExcel 2021でもこれらの関数は利用可能ですが、Microsoft 365版では、より新しいTEXTSPLIT関数などの登場により、さらに柔軟なテキスト処理が可能になっています。ただし、LEFT・MID・RIGHT関数は基本的な関数であり、多くのバージョンで互換性があるため、依然として広く使われています。

LEFT・MID・RIGHT関数と他のテキスト関数との組み合わせ

LEN関数との組み合わせで文字列長を制御する

LEN関数は、文字列の長さを返します。このLEN関数とLEFT・MID・RIGHT関数を組み合わせることで、文字列の長さに応じた動的な切り出しが可能になります。例えば、常に文字列の右端から5文字を切り出したいが、文字列の長さが5文字未満の場合もある、といったケースで役立ちます。

具体例として、A1セルの文字列の右端から5文字を切り出す場合を考えます。文字列の長さが5文字未満の場合は、文字列全体を返すようにするには、IF関数とLEN関数を組み合わせます。

数式例:`=IF(LEN(A1)<5,A1,RIGHT(A1,5))`

この数式は、「A1セルの文字列の長さが5文字未満であればA1セルの文字列全体を返し、そうでなければ右端から5文字を切り出す」という処理を行います。

FIND・SEARCH関数との組み合わせで位置を特定する

FIND関数やSEARCH関数は、文字列の中から特定の文字や文字列が最初に出現する位置を返します。これらの関数とMID関数を組み合わせることで、特定の区切り文字(例:「-」や「/」)の前後の文字列を抽出する際に非常に強力なツールとなります。

例えば、A1セルに「氏名-山田太郎」と入力されており、「山田太郎」の部分を抽出したい場合を考えます。この場合、ハイフン「-」の位置をFIND関数で見つけ、その次の文字から最後までをMID関数で抽出します。

FIND関数でハイフンの位置を取得するには「=FIND(“-“,A1)」とします。ハイフンの位置が分かったら、その次の文字(ハイフンの位置+1)から、文字列の最後までを切り出します。文字列の最後までを切り出すには、LEFT関数やRIGHT関数とLEN関数を組み合わせるか、MID関数の第三引数`num_chars`に十分大きな数(例: 999など)を指定します。

数式例(ハイフン以降を抽出):`=MID(A1,FIND(“-“,A1)+1,999)`

FIND関数は全角・半角を区別しますが、SEARCH関数は区別しません。どちらを使うかは、抽出したい文字の区別が必要かどうかで判断します。

SUBSTITUTE・REPLACE関数との使い分け

SUBSTITUTE関数は、文字列内の一部を別の文字列に置き換えます。REPLACE関数は、指定した位置から指定した文字数分を別の文字列に置き換えます。LEFT・MID・RIGHT関数は「切り出す」ことに特化していますが、これらの関数は「置き換える」という点で異なります。

例えば、「商品コード:ABC-1234」という文字列から「ABC」だけを取り出したい場合、SUBSTITUTE関数で「:」と「-」を空文字列に置き換えることも可能です。しかし、特定の「位置」から「数」だけを取り出したい場合は、MID関数の方が直感的で分かりやすいことが多いです。

REPLACE関数は、MID関数と似ていますが、指定した部分を「新しい文字列で置き換える」動作が主です。文字列の「一部を削除する」という目的であれば、REPLACE関数で指定した文字数分を空文字列に置き換えることもできます。

LEFT・MID・RIGHT関数とTEXTSPLIT関数(Microsoft 365)

Microsoft 365版Excelには、TEXTSPLIT関数が追加されました。この関数は、指定した区切り文字に基づいて文字列を分割し、配列として返します。LEFT・MID・RIGHT関数よりも強力で、複雑なテキスト処理をより簡単に行える場合があります。

例えば、「氏名,性別,年齢」のようにカンマで区切られた文字列を分割する場合、TEXTSPLIT関数を使えば、カンマを区切り文字として指定するだけで、各要素を個別のセルに自動的に展開できます。

TEXTSPLIT関数の構文は以下の通りです。

`=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])`

`text`に対象文字列、`col_delimiter`に列方向に分割する区切り文字を指定します。

TEXTSPLIT関数は、LEFT・MID・RIGHT関数と比べて、一度に複数の要素を抽出したい場合や、可変長の区切り文字で分割したい場合に特に有効です。ただし、これらの古い関数も、単純な抽出や古いバージョンのExcelとの互換性を保つためには依然として重要です。

まとめ

この記事では、Excelで文字列を切り出すための基本となるLEFT、MID、RIGHT関数の使い方を解説しました。LEFT関数は左から、RIGHT関数は右から、MID関数は指定した位置から文字列を抽出できます。これらの関数をLEN関数やFIND関数などと組み合わせることで、より複雑なテキスト処理も可能になります。Microsoft 365ユーザーであれば、TEXTSPLIT関数も強力な選択肢となります。これらの関数を習得し、Excelでのデータ整形作業を効率化してください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】