本記事には広告(PR)が含まれます。
くわしくは プライバシーポリシー をご確認ください。
Excelでデータを扱っていると、
「末尾のいらない文字を削除したい」と感じる場面は意外と多いものです。
たとえば、
-
品番の最後についている「-01」だけを消したい
-
管理番号の末尾2文字が不要なので削除したい
-
余計な記号やコードを整形したい
このように、「末尾だけを削除したい」という場面は意外と多くあります。
一つひとつ手作業で削除することもできますが、
データ量が増えるほど手間がかかり、ミスの原因にもなります。
そんなときに便利なのが、
LEFT関数とLEN関数を組み合わせた方法です。
この記事では、
-
右から2文字を削除する基本の方法
-
右からn文字削除する応用テクニック
-
関数以外での処理方法(置換・VBA)
などを、初心者の方にもわかりやすく解説します。
「とりあえずこれを使えばOK」という形で理解できるようにまとめていますので、
ぜひ最後までご覧ください。
エクセルで右から2文字削除する基本方法
LEFT関数+LEN関数で右から2文字を削除する
エクセルで右から2文字を削除する場合は、
LEFT関数とLEN関数を組み合わせる方法が基本です。
以下の数式を使用します。
=LEFT(A1,LEN(A1)-2)
■数式の意味をやさしく解説
この数式は、次のような仕組みになっています。
-
LEN(A1)
→ セルA1の文字数を数える -
LEN(A1)-2
→ 全体の文字数から「2文字分」を引く -
LEFT(A1,〇〇)
→ 左から指定した文字数だけ取り出す
つまり、
▶「全体の文字数 − 2文字」分だけ左から取り出す
= 右の2文字が削除される
という仕組みです。
■実例で確認してみましょう
| A列(元データ) | B列(結果) |
|---|---|
| ABCDE | ABC |
| 12345 | 123 |
| 商品コード01 | 商品コード |
このように、末尾の2文字だけをきれいに削除することができます。

■こんな場面で便利です
-
品番の末尾コードを削除したいとき
-
不要な識別番号を取り除きたいとき
-
データの整理(整形)をしたいとき
同じルールでデータが並んでいる場合は、
数式をコピーするだけで一括処理が可能です。
▶ なお、「特定の文字(例:株式会社やハイフンなど)を削除したい場合」は、
別の方法が適しています。
▼ エクセルで特定の文字を消す方法はこちら
エクセルで特定の文字を消すには?置換・関数・マクロで削除する方法
右からn文字削除に応用する方法
先ほどの数式は「2文字削除」でしたが、
この方法はそのまま応用することができます。
基本の形はこちらです。
=LEFT(A1,LEN(A1)-n)
■nを変えるだけで自由に調整できる
たとえば、
-
1文字削除 →
-1 -
3文字削除 →
-3 -
4文字削除 →
-4
というように、削除したい文字数に応じて変更するだけでOKです。
■削除する文字数をセルで管理する方法
削除する文字数をセルに入力しておくと、
より柔軟に使うことができます。
例:B1に削除したい文字数を入力
=LEFT(A1,LEN(A1)-B1)
この方法を使えば、
-
条件に応じて削除数を変える
-
作業者ごとに設定を変える
-
一時的に調整する
といった使い方も簡単にできます。

■実務でよくある使い方
-
商品コードの末尾だけ変わる場合
-
日付コードの一部だけ不要な場合
-
ファイル名の後ろの識別番号を削除したい場合
▶ 「右から○文字削除」はかなり汎用性が高い処理です
RIGHT関数との違い(よくある混乱ポイント)
ここで初心者の方がよく迷うのが、
LEFT関数とRIGHT関数の違いです。
■LEFTとRIGHTの役割
| 関数 | 役割 |
|---|---|
| LEFT | 左から文字を取り出す |
| RIGHT | 右から文字を取り出す |
■今回の「削除」との関係
今回やりたいのは、
▶ 右側を消す(削除する)
です。
そのため、
-
RIGHT関数 → 右側を取り出す(今回とは逆)
-
LEFT関数 → 左側を残す(今回に最適)
という違いになります。
■間違えやすい例
例えば、
=RIGHT(A1,LEN(A1)-2)
= 意図しない結果になります
■覚え方のコツ
-
削除したい → LEFTを使う
-
取り出したい → RIGHTを使う
と覚えておくと迷いにくくなります。

関数以外の方法と応用テクニック
置換機能で末尾の文字を削除する方法(条件付き)
関数を使わずに削除したい場合は、
**置換機能(Ctrl+H)**を使う方法もあります。
■使い方のイメージ
例えば「末尾2文字が必ず同じ」場合は、
- Ctrl+H を押す
- 検索する文字列に削除対象を入力
- 置換後は空白にする
- 「すべて置換」をクリック
これで一括削除が可能です。

■注意点(かなり重要)
この方法は便利ですが、注意点もあります。
▶ 削除する文字が毎回同じ場合にのみ有効です。
つまり、
- 「-01」など固定の文字 → 置換でOK
- 「毎回違う2文字」 → 関数が必要
という使い分けになります。
エクセルで特定の文字を消すには?置換・関数・マクロで削除する方法
■ワイルドカードの活用(応用)
「末尾2文字を削除したい」という場合、
ワイルドカードを使う方法もあります。
ただしこの方法は使える条件が限られるため注意が必要です。
■例:区切り文字がある場合(おすすめ)
例えば、
A2978-8
A1853-3
のように、
▶ 「-(ハイフン)」+1文字が末尾についている場合は、
検索する文字列に以下を入力します。
-?
これにより、
- 「-+1文字」をまとめて削除できます

■なぜ「??」は危険なのか?
一見すると、
??
とすれば「2文字削除できそう」に見えますが、
▶ これは文字列のどこにでもマッチしてしまいます
そのため、
- 途中の文字が削除される
- 意図しない部分まで置換される
といったトラブルが起こる可能性があります。

■安全に使うポイント
- 「-」「/」「_」などの区切り文字がある場合のみ使う
- いきなり「すべて置換」せず、まずは「置換」で確認する
■置換機能もあるけれど関数のほうが安全
置換機能については基本的に、形式の決まっているデータ向きの機能です。
そのため、
- 末尾の形式が決まっている → 置換でもOK
- 規則がない・不安がある → 関数が安全
といえます。
▶ 特に初心者の方は、
LEFT関数+LEN関数を使う方法がおすすめです
文字数がバラバラな場合の考え方(応用)
今回の方法は、
▶ 「右から○文字」という固定ルール
には非常に強いです。
■逆に難しくなるケース
- 特定の記号まで削除したい
- 「-」より右を削除したい
- 文字数が毎回バラバラ
このような場合は、
▶ FIND関数やSUBSTITUTE関数などが必要になります。
▼FIND関数やSUBSTITUTE関数については以下の記事で利用例を簡単に紹介しています。
VBAで右からn文字削除する方法(まとめて処理)
大量データを一気に処理したい場合は、
VBA(マクロ)を使う方法もあります。
▼マクロの利用方法については以下の記事で紹介しています。
■サンプルコード
Sub DeleteRightChars()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then
c.Value = Left(c.Value, Len(c.Value) - 2)
End If
Next c
End Sub
■使い方
マクロの利用方法は3ステップです。
- 削除したいセル範囲を選択
- マクロを実行
- 右から2文字が削除される
■ポイント
このマクロのポイントは以下の3点です。
- 関数を使わずに値を直接変更できる
- 大量データの一括処理に向いている
- 作業の自動化ができる
セル選択についてもあらかじめマクロで選択範囲を指定するなどしておくと
セル選択から右側の2文字までを削除するまでの流れを自動で行うことも可能になります。

■まずは関数でOK
VBAは便利ですが、最初から無理に使う必要はありません。
まずは本記事で紹介した関数で対応し、
「大量データで処理が大変になってきたらVBAを検討する」
という流れがおすすめです。
新しい関数でより簡単にできる?(補足)
最近のExcelでは、
- TEXTBEFORE
- TEXTAFTER
といった新しい関数も登場しています。

■ただし今回のケースでは…
結論としては、
▶ 「右から○文字削除」は従来関数が最適です
■理由
- LEFT+LENでシンプルに書ける
- 読みやすく理解しやすい
- どのExcel環境でも使える
特に新しい関数の場合、最新のライセンスではないエクセルでは利用できない可能性があります。
無理に新しい関数を利用せずに簡単に対応する方が無難といえるでしょう。
■無理に新しい関数を使わなくてOK
新しい関数は便利ですが、
▶ 「簡単な処理はシンプルな関数でOK」
という考え方が、実務ではとても大切です。
なお、TEXTBEFORE関数・TEXTAFTER関数の詳しい使い方は、Microsoft公式ページでも確認できます。
大量データならPower Queryという選択肢も
数百件程度であれば関数で十分ですが、
データが何千件・何万件と増える場合は、
Power Queryを使った加工も選択肢になります。
■Power Queryの特徴
Power Queryの特徴は大まかに3点あります。
- 一度設定すれば「更新」で再実行できる
- 大量データの処理に強い
- 作業の自動化・効率化に向いている
■今回のケースとの相性
Power Queryでも、
- 列の分割
- 列の変換
などを使って末尾の文字を削除することは可能です。
ただし、
▶ 「右から2文字削除」だけであれば、関数のほうが手軽です。
そのため、まずは関数で対応し、
「繰り返し処理が増えてきたらPower Queryを検討する」
という使い分けがおすすめです。
■使い分けの目安
使い分けの目安としては
- 単発・少量 → 関数で対応
- 繰り返し・大量 → Power Queryを検討
が挙げられます。
もし
- 行数が1000件以上
- 週1で同じ形式のデータを加工することがある
といった場合は、 Power Queryを検討してもよいかもしれません。
関数をしっかり理解したい方へ(PR)
今回紹介したLEFT関数やLEN関数は、
Excelでよく使われる基本関数のひとつです。
ただ、実際の業務では
- 関数の組み合わせ方がわからない
- 応用になると急に難しく感じる
- 自分で考えて式を作るのが苦手
と感じることも多いのではないでしょうか。
そんな方には、動画で体系的に学べる講座もおすすめです。
LEFT関数やRIGHT関数の使い方も丁寧に解説されているので、
「なんとなく使っている状態」から一歩ステップアップできます。
まとめ:エクセルで右から2文字削除する方法
エクセルで右から2文字を削除するには、
LEFT関数とLEN関数を組み合わせる方法が基本です。
=LEFT(A1,LEN(A1)-2)
この数式を使えば、末尾の不要な文字を簡単に削除できます。
▶「右から○文字削除」は実務でもよく使う処理です
まずは今回の方法を覚えておけば、日々のデータ作業がぐっと楽になります。
■ポイントのおさらい
- 右からn文字削除 →
-nに変更するだけで応用可能 - 固定の文字なら → 置換機能でも対応できる
- 大量データなら → VBAやPower Queryも検討
■迷ったらこの方法でOK
「右から○文字削除したい」ときは、
▶LEFT+LENを使えば間違いありません
シンプルで応用しやすく、実務でもよく使われる方法です。
まずはこの数式から試してみてください。
よくある質問(FAQ)
エクセルで右から2文字を削除するには?
LEFT関数とLEN関数を組み合わせて、以下の数式を使います。
=LEFT(A1,LEN(A1)-2)
右から1文字や3文字を削除することもできますか?
可能です。削除したい文字数に応じて、-2の部分を変更します。
例:
- 1文字 →
-1 - 3文字 →
-3
関数を使わずに削除する方法はありますか?
ワイルドカード(??)で削除できますか?
そのため、初心者の方には関数の使用がおすすめです。
区切り文字がある場合はどうすればいいですか?
大量データの場合はどう処理すればいいですか?
【関連記事】
- エクセルで特定の文字を消すには?置換・関数・マクロで削除する方法
- Excelで名簿作成を効率化する方法まとめ|氏名・住所・電話番号の整理術をやさしく解説
- Excelで2つのデータを照合する方法まとめ|一致確認・差分チェック・抽出を初心者向けに解説
※外部リンク※
※参考書籍 (PR)※
※本ボックスにはアフィリエイトリンク(PR)が含まれます。
くわしくは プライバシーポリシー へ。
