エクセルで大量のセルから末尾の文字や数字を一括で削除したいのに、1つずつ手作業で修正していて時間がかかって困った経験はありませんか?
この記事では【Excel】エクセルで末尾を一括削除(関数や書式設定等で最後の文字や数字を消す)でする方法について解説していきます。
ポイントは
・LEFT関数とLEN関数を組み合わせて末尾を削除
・SUBSTITUTE関数やREPLACE関数での置換処理
・置換機能やフラッシュフィルの活用
です。
それでは詳しく見ていきましょう。
LEFT関数とLEN関数で末尾の文字を削除する方法【最も基本的な方法】
エクセルで末尾の文字を削除する最も基本的で確実な方法は、LEFT関数とLEN関数を組み合わせる方法です。
LEFT関数は文字列の左側から指定した文字数を取り出す関数で、LEN関数は文字列全体の長さを取得する関数となります。
この2つを組み合わせることで、「全体の文字数-削除したい文字数」分だけ左から取り出すことができ、結果として末尾が削除された文字列が得られるわけです。
例えば、「商品A-001」という文字列から末尾の「1」を削除して「商品A-00」にしたい場合や、「データ.csv」から拡張子「.csv」を削除したい場合に有効でしょう。
解決方法
具体的な例として、A列に「商品A-001」「商品B-002」「商品C-003」といったデータがあり、末尾の1文字を削除したい場合を考えてみましょう。
サンプルデータは以下のようになります。

B2セルに以下の数式を入力します。
=LEFT(A2,LEN(A2)-1)
この数式の意味を説明すると、まずLEN(A2)でA2セルの文字列全体の長さを取得し、そこから1を引くことで「末尾1文字を除いた文字数」を計算しています。
そして、LEFT関数でA2セルの左側からその文字数分だけ取り出すことで、末尾1文字が削除された結果が得られるのです。
数式を入力したら、B2セルの右下角をダブルクリックするか、下方向にドラッグしてオートフィルを実行しましょう。
これでA列のすべてのデータから末尾1文字が削除された結果がB列に表示されます。

末尾2文字を削除したい場合は「LEN(A2)-2」、3文字削除したい場合は「LEN(A2)-3」というように、引く数字を変更すれば対応可能です。
【操作のポイント】
LEFT関数とLEN関数の組み合わせは、削除したい文字数が明確な場合に最も確実な方法です。数式内の「-1」の部分を変更するだけで、削除する文字数を自由に調整できます。元データを残したまま別列に結果を出力できるため、安全に作業できる点も大きなメリットでしょう。
REPLACE関数で末尾の特定位置から削除する方法【削除開始位置を指定】
REPLACE関数を使用すると、文字列の特定位置から指定した文字数を削除(または置換)できます。
この関数は削除開始位置と削除する文字数を明確に指定できるため、複雑な削除パターンにも対応可能です。
特に、文字列の長さが一定でない場合でも、LEN関数と組み合わせることで柔軟に末尾削除を実現できます。
解決方法
A列に「データファイル.xlsx」「レポート.docx」「画像.png」といった拡張子付きのファイル名があり、拡張子部分(ピリオド以降)を削除したい場合を考えてみましょう。
サンプルデータは以下のようになります。

拡張子の文字数が異なるため、ピリオドの位置を検索して、その位置から末尾までを削除する必要があります。
B2セルに以下の数式を入力しましょう。
=REPLACE(A2,FIND(“.”,A2),LEN(A2),””)
この数式では、FIND関数でピリオドの位置を検索し、その位置からLEN(A2)文字分(つまり末尾まで)を空文字列(“”)に置換しています。
結果として、ピリオド以降がすべて削除されるわけです。

もし末尾の固定文字数を削除したい場合は、よりシンプルに記述できます。
例えば末尾3文字を削除する場合は以下のようになるでしょう。
=REPLACE(A2,LEN(A2)-2,3,””)
この数式は、文字列の長さから2を引いた位置(つまり末尾3文字目の開始位置)から3文字を空文字列に置換することで、末尾3文字を削除しています。
数式を下方向にコピーすれば、すべてのデータに対して末尾削除が適用されます。
【操作のポイント】
REPLACE関数は削除開始位置を明確に指定できるため、条件付きの削除に適しています。FIND関数やSEARCH関数と組み合わせることで、特定の記号や文字以降を削除するといった柔軟な処理が可能です。固定文字数の削除であれば、LEN関数との組み合わせでシンプルに記述できます。
置換機能を使って末尾の特定文字を一括削除する方法【ショートカットキーで素早く処理】
関数を使わずに、エクセルの置換機能を使って末尾の文字を削除する方法もあります。
この方法は、削除したい文字列が特定のパターンを持っている場合に特に有効で、関数を使わないため元データを直接編集できる点が特徴です。
ワイルドカードを活用することで、柔軟なパターンマッチングが可能になります。
解決方法
A列に「商品コード_A」「商品コード_B」「商品コード_C」といったデータがあり、末尾の「_」以降を削除したい場合を考えてみましょう。
まず、削除したい範囲(A列全体またはデータ範囲)を選択します。
Ctrl+Hキーを押して「検索と置換」ダイアログボックスを開きましょう。

「検索する文字列」欄に「_*」と入力します。

ここで「*」はワイルドカードとして機能し、「_」以降のすべての文字を意味するのです。
「置換後の文字列」欄は空欄のままにしておきます。
ただし、このままでは通常の文字として認識されてしまうため、「オプション」ボタンをクリックして詳細オプションを表示させ、「ワイルドカードを使用する」にチェックを入れる必要があります。
設定が完了したら「すべて置換」ボタンをクリックしましょう。
これで選択範囲内のすべてのセルから「_」以降の文字列が削除されます。

単純に末尾の固定文字(例えば必ず「円」で終わる)を削除したい場合は、ワイルドカードを使わずに「検索する文字列」に「円」、「置換後の文字列」を空欄にして置換すれば良いでしょう。
【操作のポイント】
置換機能は関数を使わずに直接データを編集できるため、大量のデータを素早く処理したい場合に便利です。ワイルドカード「*」を活用すれば、特定の文字以降をすべて削除するといった柔軟な処理が可能になります。ただし元データが直接変更されるため、作業前にバックアップを取っておくことをおすすめします。
フラッシュフィルを使った末尾削除【Excel 2013以降の便利機能】
Excel 2013以降で利用できるフラッシュフィル機能は、ユーザーが入力したパターンを自動認識して残りのデータを自動入力してくれる便利な機能です。
関数や置換の知識がなくても、最初の1つか2つの例を手入力するだけで、エクセルが自動的にパターンを判断して残りを処理してくれるのが大きな魅力でしょう。
特に、規則性のある末尾削除には非常に効果的な方法となります。
解決方法
A列に「東京都_2024」「大阪府_2024」「愛知県_2024」といったデータがあり、末尾の「_2024」を削除したい場合を例にしてみましょう。
サンプルデータは以下のようになります。

まず、B2セルに手動で「東京都」と入力します。
次にB3セルに「大阪府」と入力してEnterキーを押しましょう。
この時点で、エクセルがパターンを認識し、B3セルの右下にフラッシュフィルのアイコンが表示される場合があります。
表示されたらそのアイコンをクリックするか、データタブの「フラッシュフィル」ボタンをクリックします。
あるいは、Ctrl+Eキーを押すことでもフラッシュフィルを実行可能です。

エクセルが自動的にパターンを認識し、残りのセルにも「_2024」を除いた都道府県名だけが自動入力されます。
もしパターンが正しく認識されなかった場合は、もう1つか2つ手動で例を入力してから再度フラッシュフィルを実行してみてください。
複雑なパターンでも、十分な例があればエクセルが適切に判断してくれることが多いです。
【操作のポイント】
フラッシュフィルは関数の知識がなくても使える便利な機能ですが、パターンが複雑すぎる場合や例が少ない場合は正しく認識されないことがあります。その場合は、より多くの例を手動で入力するか、関数や置換機能を使う方が確実です。フラッシュフィルはCtrl+Eキーで素早く実行できる点も覚えておくと便利でしょう。
まとめ エクセルで最後の文字や数字を消す(末尾を一括削除・関数や書式設定等で)方法
エクセルで末尾を一括削除する方法をまとめると
・最も基本的な方法はLEFT関数とLEN関数を組み合わせて末尾の指定文字数を削除する
・REPLACE関数を使えば削除開始位置を明確に指定でき、FIND関数と組み合わせれば特定文字以降を削除できる
・置換機能(Ctrl+H)とワイルドカードを使えば関数なしで素早く処理可能
・フラッシュフィル(Ctrl+E)は例を入力するだけでパターンを自動認識してくれる
・関数を使う方法は元データを残せるため安全性が高く、置換機能は直接編集で高速処理が可能
これらの方法を状況に応じて使い分ければ、ほとんどのケースで末尾削除を効率的に実現できるでしょう。
特に最初に紹介したLEFT関数とLEN関数の組み合わせは、最も汎用性が高く確実な方法ですので、まずこれをマスターすることをおすすめします。
削除したい文字数が固定の場合は関数が最適で、特定の記号や文字以降を削除したい場合は置換機能やREPLACE関数との組み合わせが有効です。
また、パターンが規則的で複雑でない場合は、フラッシュフィルを使えば関数の知識がなくても簡単に処理できます。
エクセルの文字列処理機能を正しく理解して、データクレンジングや整形作業の効率を大幅に向上させていきましょう!

コメント