Excelの文字列削除テクニック完全ガイド:LEFT,RIGHT,SUBSTITUTE関数で文字を自在に消す方法
はじめに
Excelでの文字列操作において、不要な文字や特定の部分を削除する作業は頻繁に発生します。
単純な文字数指定による削除から、特定の文字や記号の除去、条件に応じた部分削除まで、業務で遭遇する様々なケースに対応できる手法を解説します。
概要解説動画
Excelで文字列の「左からN文字」を削除する方法
文字列の先頭部分から指定した文字数を削除するには、RIGHT関数とLEN関数を組み合わせます。
基本的な数式
=RIGHT(文字列,LEN(文字列)-N)
具体例
- 元の文字列:「あいうえお」
- 左から2文字削除:
=RIGHT(C3,LEN(C3)-2) - 結果:「うえお」
この方法では、文字列全体の長さから削除したい文字数を減算し、残りの文字数分だけ右側から抽出します。

応用例:
商品コードの先頭3文字を削除:
=RIGHT(A1,LEN(A1)-3)

郵便番号から都道府県コード(先頭2文字)を除去:
=RIGHT(A1,LEN(A1)-2)

Excelで文字列の「右からN文字」を削除する方法
文字列の末尾部分から指定した文字数を削除するには、LEFT関数とLEN関数を組み合わせます。
基本的な数式
=LEFT(文字列,LEN(文字列)-N)
具体例
- 元の文字列:「あいうえお」
- 右から2文字削除:
=LEFT(C4,LEN(C4)-2) - 結果:「あいう」

応用例:
商品コードの末尾3文字を削除:
=LEFT(A1,LEN(A1)-3)

郵便番号から都道府県コード(先頭2文字)以外を除去:
=LEFT(A1,LEN(A1)-6) ※ハイフンが無い場合は -5

特定の文字や記号を削除する方法(SUBSTITUTE関数)
文字数ではなく、特定の文字や記号を削除したい場合は、SUBSTITUTE関数を使用します。
基本的な数式
=SUBSTITUTE(文字列,削除したい文字,"")
具体例とケース
ハイフンの削除:
- 元データ:「123-4567」
- 数式:
=SUBSTITUTE(A1,"-","") - 結果:「1234567」

括弧内の文字削除(複数のSUBSTITUTE関数組み合わせ):
- 元データ:「商品名(廃盤)」
- 数式:
=SUBSTITUTE(SUBSTITUTE(A1,"(",""),")","") - 結果:「商品名廃盤」

複数種類の文字を削除する、より詳細な方法はこちらで紹介しています。
空白文字の除去:
- 元データ:「商品 名称 A」
- 数式:
=SUBSTITUTE(A1," ","") - 結果:「商品名称A」

なお空白削除にはTRIM関数やCLEAN関数を利用することも有効です。
- TRIM関数:不要な空白(全角/半角両方)を削除
- CLEAN関数:セル内改行やタブ(TAB)文字などを削除
特定の文字「以降」をすべて削除する方法(FIND/SEARCH関数)
特定の文字が見つかった位置以降のすべての文字列を削除する場合は、FIND関数と他の関数を組み合わせます。
基本的な数式
=LEFT(文字列,FIND(区切り文字,文字列)-1)
具体例
アットマーク以降を削除(メールアドレスからユーザー名抽出):
- 元データ:「user@example.com」
- 数式:
=LEFT(A1,FIND("@",A1)-1) - 結果:「user」

特定の文字より前の部分を削除:
- 元データ:「商品名_詳細説明」
- アンダースコア以降を抽出:
=RIGHT(A1,LEN(A1)-FIND("_",A1)) - 結果:「詳細説明」

エラー処理を含む数式: 指定した文字が存在しない場合のエラーを防ぐため、IFERROR関数を組み合わせます。
=IFERROR(LEFT(A1,FIND("@",A1)-1),A1)
特定の文字を起点とした文字削除の方法は、こちらでより詳細に紹介しています。
新しい機能であるTEXTAFTER関数やTEXTBEFORE関数を利用した簡潔な数式や、特定の文字間を抽出する方法を解説しています。
条件に応じた高度な文字削除テクニック
数字のみを削除
SUBSTITUTEを重ねる方法:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9","")
新しい関数を使った方法(Microsoft 365向け):
REDUCE関数とLAMBDA関数を組み合わせることで、SUBSTITUTE関数を複数重ねる必要がないため簡潔な数式になります。
=REDUCE(元のテキスト,削除対象テキスト,LAMBDA(r,s,SUBSTITUTE(r,s,"")))
これらテクニックはこちらでより詳細に解説しており、VBAやOfficeスクリプトを利用した方法も紹介しています。
末尾の特定文字数削除(条件付き)
文字列の長さに応じて削除する文字数を変更する場合:
次の式はIF関数とLEN関数を利用し、5文字以上の場合にのみ、3文字削除しています。
=IF(LEN(A1)>5,LEFT(A1,LEN(A1)-3),A1)
関数の組み合わせによる実践的な活用例
ファイルパスからファイル名のみ抽出
従来の関数を利用(どのバージョンでも利用可能):
=RIGHT(A1,LEN(A1) -FIND("※",SUBSTITUTE(A1,"\","※",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))
新しい関数を利用(利用可能なバージョンに制限はあるが簡潔):
=TEXTAFTER(A1,"\",-1)
ブックのファイル名やシート名を取得する方法は、こちらで解説しています。
商品コードの標準化
先頭の不要な文字を削除し、特定の形式に統一:
=RIGHT(SUBSTITUTE(A1,"-",""),8)
電話番号の正規化
ハイフンと括弧を除去し、数字のみに。
SUBSTITUTEを重ねる方法:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"-",""),"(",""),")","")
新しい関数を使った方法(Microsoft 365向け):
=REDUCE(A1,{"(",")","-"},LAMBDA(r,s,SUBSTITUTE(r,s,"")))
まとめ:関数を使いこなしてExcel作業を効率化
本記事で紹介した関数を適切に組み合わせることで、様々な文字列削除のニーズに対応できます。
各関数の特徴を理解し、業務の具体的な場面に応じて選択することで、データ整理作業の効率化を図ることができます。
関数の使い分け指針:
- 文字数指定での削除:LEFT/RIGHT + LEN関数
- 特定文字の削除:SUBSTITUTE関数
- 条件に応じた削除:FIND/SEARCH + LEFT/RIGHT関数
- エラー対策:IFERROR関数との組み合わせ
これらの手法を習得することで、手作業による文字列編集から解放され、より正確かつ迅速なデータ処理が可能になります。