【Excel】エクセルで右から文字を削除する関数と数式の使い方(右から4文字・3文字削除)
Excelで商品コード、受付番号、ファイル名などを整えるとき、文字列の右端にある不要な文字だけを削除したい場面があります。
たとえば末尾の4文字を取り除く、拡張子を除く、右から3文字だけを残さず消すといった処理です。
手作業でセルを編集すると入力件数が増えた際にミスが起こりやすいため、関数や数式で自動化すると効率的です。
この記事では、RIGHT関数、LEFT関数、LEN関数を中心に、右から文字を削除する数式の組み方と応用例を解説します。
右から指定文字数を削除する基本式は、LEFT関数とLEN関数の組み合わせです。
文字列全体の文字数から削除したい文字数を引くことで、左側に残す文字数を指定できます。
右端の文字を消す処理では、元データを書き換えず別列に数式を入れる方法が安全です。
サンプルデータは、1行目に見出しがあり、2行目以降に文字列が入力されている前提で進めます。
右から文字を削除する基本数式
それではまず、右から4文字や3文字を削除する最も基本的な数式について解説していきます。
| 商品コード | 右から4文字を削除した結果 |
|---|---|
| ABC-2026-RED | ABC-2026 |
| ITEM-1000-XL | ITEM-100 |
| 東京支店-資料 | 東京支店 |
右から何文字削除する場合でも、基本となる考え方は同じです。
文字列の総文字数をLEN関数で数え、そこから削除する文字数を差し引き、その文字数だけ左から取り出します。
右端を削除する専用関数はありませんが、LEFT関数を使えば実用上は同じ結果を作れます。
右から4文字を削除する数式

セルA2に元の文字列が入っている場合、右から4文字を除いた結果をB2に表示する数式は次のとおりです。
=LEFT(A2,LEN(A2)-4)
LEN(A2)は、A2に入力された文字列の長さを数える部分です。
たとえばA2がABC-2026-REDなら文字数は12文字であり、そこから4を引くと8になります。
LEFT(A2,8)として処理されるため、左から8文字のABC-2026が返されます。
数字だけでなく、日本語、英字、記号が混ざる商品名や管理番号にも同じ数式を利用できます。
日本語の全角文字も、通常のExcel関数では1文字として数えられます。
そのため、東京支店-資料のような文字列から末尾4文字を削除する場合も、文字数を意識して数式を変更する必要はありません。
【操作のポイント】数式はB2へ入力し、結果を確認してからフィルハンドルで下方向へコピーすると、元データを安全に残せます。
右から3文字を削除する数式

末尾3文字を削除したい場合は、基本式の数字だけを4から3へ変更します。
=LEFT(A2,LEN(A2)-3)
たとえばA2に発注番号-済が入っている場合、末尾の-済を含めて3文字を削除するかどうかは、実際の文字数を確認して判断しましょう。
ハイフンやスペースも1文字として数えられるため、削除対象に含めたい記号があるかどうかで引く数字が変わります。
見た目では短く感じる文字列でも、区切り記号を含めると削除文字数がずれることがあります。
数式を入力したあと、B2の結果が期待どおりか確認してください。
正しい結果になったら、B2右下の小さな四角を下へドラッグするか、ダブルクリックしてオートフィルを実行します。
隣接するA列に連続データがある場合、ダブルクリックで最終行付近まで数式をコピーできるため便利です。
【操作のポイント】削除したい文字数を変更するときは、数式内の末尾の数字だけを置き換えれば対応できます。
文字数が足りない場合のエラー対策
元の文字列が削除する文字数より短いと、LEFT関数の文字数指定がマイナスになり、VALUEエラーになることがあります。
たとえばA2がABで、右から4文字を削除する処理をすると、LEN(A2)-4はマイナス2です。
このような短いデータも混在する場合は、IF関数を組み合わせると表示を整えられます。
=IF(LEN(A2)>4,LEFT(A2,LEN(A2)-4),””)
この数式では、A2の文字数が4文字より多い場合だけ削除処理を行い、それ以外は空白を表示します。
短い文字列をそのまま表示したい場合は、最後の空白部分をA2に変更します。
=IF(LEN(A2)>4,LEFT(A2,LEN(A2)-4),A2)
エラーを隠すだけでなく、短いデータを空白にするか元のまま残すかを業務ルールに合わせて決めることが重要です。
【操作のポイント】IFERROR関数でもエラー表示を抑えられますが、文字数を条件にするIF関数のほうが処理内容を把握しやすいでしょう。
LEFT関数とLEN関数の役割
続いては、右から削除する数式を理解しやすくするLEFT関数とLEN関数の役割を確認していきます。
| 関数 | 役割 | 使用例 |
|---|---|---|
| LEFT | 左端から指定数の文字を返す | =LEFT(A2,5) |
| LEN | 文字列全体の文字数を数える | =LEN(A2) |
| RIGHT | 右端から指定数の文字を返す | =RIGHT(A2,4) |
右側を削除する処理は、残したい左側を取り出す処理に言い換えられます。
この考え方を理解すると、末尾の削除だけでなく、文字列の一部を抽出する作業にも応用できます。
LEFT関数で左側を取り出す仕組み

LEFT関数は、文字列の左端から指定した数だけ文字を返す関数です。
基本構文は、LEFT(文字列,文字数)です。
=LEFT(A2,7)
この式では、A2の先頭から7文字が返されます。
商品コードの先頭部分、都道府県名を含む住所の前半、日付コードの年月部分などを取り出す用途で役立ちます。
右から削除する場合は、あらかじめ残したい文字数が決まっているわけではありません。
そこでLEN関数によって全体の長さを取得し、そこから削除数を差し引いてLEFT関数へ渡します。
LEFT関数は削除する関数ではなく、残したい部分を抽出する関数だと考えると数式を組み立てやすくなります。
【操作のポイント】固定の文字数だけ先頭を取り出すならLEFT(A2,文字数)、末尾の長さに応じて変えるならLEN関数との組み合わせを使います。
LEN関数で全体の文字数を数える仕組み

LEN関数は、セル内の文字数を数える関数です。
半角英数字、全角文字、空白、ハイフン、丸括弧なども文字数に含まれます。
=LEN(A2)
A2にABC-2026-REDが入力されていれば、結果は12になります。
セルに見えない余分なスペースが含まれている場合も、そのスペースは1文字として数えられます。
結果が想定より1文字多いときは、データの末尾や先頭に空白が入っていないか確認しましょう。
貼り付けたデータで数式結果がずれるときは、余計な空白が原因になっているケースが少なくありません。
不要な前後スペースを除いてから文字数を数えたい場合は、TRIM関数を組み合わせます。
=LEFT(TRIM(A2),LEN(TRIM(A2))-4)
ただし、文字列の途中にある複数の空白も業務上必要な場合は、TRIM関数の使用前にデータの意味を確認してください。
【操作のポイント】LEN関数を単独で入力して文字数を確認すると、削除する数字を決める際の判断ミスを防げます。
数式を読み解く順番
=LEFT(A2,LEN(A2)-4)を見たときは、内側のLEN(A2)から計算すると理解しやすくなります。
まずLEN(A2)で元の文字数を取得し、次に4を引き、最後にLEFT関数がその数だけ左端から文字を抜き出します。
たとえばA2が注文-001-完了で全体が10文字なら、10から4を引いた6文字をLEFT関数で取得する流れです。
数式バーでF2キーを押すと、参照セルや関数の構造を確認しやすくなります。
数式が複雑になった場合は、数式タブの数式の検証機能を使うと、計算の途中経過を確認できます。
内側から外側へ計算する順序を意識すると、関数を複数組み合わせた数式でも修正しやすくなります。
【操作のポイント】数式をコピーする前に、最初の結果セルで文字数と削除対象が正しいかを必ず確認しましょう。
末尾の文字を条件で削除する数式
続いては、末尾の文字数が常に同じではない場合や、特定の記号以降を削除したい場合の数式を確認していきます。
| 元データ | 削除したい部分 | 完成イメージ |
|---|---|---|
| 見積書_東京支店.xlsx | .xlsx | 見積書_東京支店 |
| 商品A-旧 | -旧 | 商品A |
| 伝票-2026-10 | 最後のハイフン以降 | 伝票-2026 |
固定の4文字や3文字を消すだけでは対応できないケースでは、検索関数や置換関数も利用します。
扱うデータの形式が一定かどうかを最初に確認することが大切です。
拡張子を削除する数式
ファイル名の末尾にある.xlsxや.csvなどの拡張子を除きたい場合、拡張子の長さが常に同じなら固定文字数の削除でも対応できます。
しかしxlsxとcsvが混在する場合は、ピリオドの位置を探す数式が便利です。
=LEFT(A2,FIND(“.”,A2)-1)
FIND関数は、文字列内で指定した文字が何文字目にあるかを返します。
この式ではピリオドの位置の1つ前までをLEFT関数で取り出すため、拡張子を除いたファイル名だけが残ります。
拡張子の文字数が変わる可能性があるデータでは、固定の削除文字数よりFIND関数を使う方法が安定します。
ファイル名に複数のピリオドが含まれる場合、FIND関数は最初のピリオドを見つけます。
そのため、report.v2.xlsxのような名前を扱う場合は、最後のピリオドを探す別の数式が必要です。
【操作のポイント】拡張子の直前にある最初のピリオドだけを基準にできるデータかどうかを、数件のサンプルで確認してください。
末尾の特定文字を削除する数式
商品名の末尾に-旧、-廃番、-確認中など、決まった文字列が付く場合はSUBSTITUTE関数で削除できます。
=SUBSTITUTE(A2,”-旧”,””)
この数式は、A2内にある-旧を空白へ置き換えます。
ただしSUBSTITUTE関数は、文字列の途中にある同じ文字も置換します。
末尾だけに付くことが確実な管理用の接尾語に使うとよいでしょう。
文字数ではなく削除対象の文字そのものが決まっている場合は、SUBSTITUTE関数のほうが読みやすい数式になります。
末尾が-旧のときだけ削除し、それ以外は元の値を表示したい場合は、RIGHT関数とIF関数を組み合わせます。
=IF(RIGHT(A2,2)=”-旧”,LEFT(A2,LEN(A2)-2),A2)
これにより、途中に-旧という文字が含まれていても、末尾に付いている場合だけ処理できます。
【操作のポイント】置換対象が文中にも現れる可能性があるときは、RIGHT関数で末尾を判定してから削除しましょう。
最後の区切り記号以降を削除する数式
伝票-2026-10のように、最後のハイフン以降だけを消したい場合があります。
Microsoft 365やExcel 2021以降でTEXTBEFORE関数を利用できる環境では、次の数式が分かりやすいでしょう。
=TEXTBEFORE(A2,”-“,-1)
第3引数の-1は、文字列の後ろ側から区切り記号を検索する指定です。
この式では最後のハイフンより前の文字列が返され、伝票-2026が表示されます。
古いExcelでTEXTBEFORE関数が使えない場合は、データ形式に応じて置換や検索関数を組み合わせる必要があります。
区切り記号の数がデータごとに異なる場合は、右端から検索できる関数を使うと処理の精度が上がります。
【操作のポイント】TEXTBEFORE関数がエラーになる場合は、Excelのバージョンと更新状況を確認してから代替式を検討します。
数式を下までコピーする操作
続いては、完成した数式を複数行のデータへ効率よく適用する操作を確認していきます。
| 行 | A列の元データ | B列の数式結果 |
|---|---|---|
| 2 | ABC-2026-RED | ABC-2026 |
| 3 | XYZ-2026-BLU | XYZ-2026 |
| 4 | DEF-2026-GRN | DEF-2026 |
数式は先頭のB2に一度だけ入力し、その後にオートフィルやコピーを使うと作業時間を短縮できます。
フィルハンドルによるオートフィル
B2に=LEFT(A2,LEN(A2)-4)を入力して結果を確認したら、セル右下に表示される小さな四角へマウスポインターを合わせます。
ポインターが黒い十字に変わったら、必要な最終行まで下へドラッグします。
コピー後のB3ではA2がA3へ、B4ではA4へ自動的に変わります。
セル参照にドル記号を付けていない通常の数式は、下方向へコピーすると行番号が自動調整されます。
【操作のポイント】データ数が少ない場合はドラッグ、大量データでA列が空白なく続く場合はフィルハンドルのダブルクリックが便利です。
コピーと貼り付けによる展開
フィルハンドルを使いにくい表では、B2をコピーして貼り付ける方法でも数式を展開できます。
B2を選択してCtrlキーとCキーを押し、数式を入れたい範囲のB3からB100などを選択してCtrlキーとVキーを押します。
貼り付け後は各行のA列を参照する数式へ自動調整されます。
値だけを貼り付けたい場合は、通常の貼り付けではなく値の貼り付けを選びます。
元の数式を残す必要があるか、最終結果を固定値にするかで貼り付け方法を使い分けます。
【操作のポイント】計算結果を他システムへ渡す前には、コピーして値として貼り付けると数式の参照切れを防げます。
テーブル機能による数式の自動入力
データ量が増減する一覧では、範囲をテーブルに変換しておくと数式の管理がしやすくなります。
見出しを含む範囲を選択し、CtrlキーとTキーを押してテーブルの作成画面を開きます。
先頭行をテーブルの見出しとして使用する設定を確認してから登録します。
結果列の最初のセルへ数式を入力すると、テーブル内の同じ列へ数式が自動入力される場合があります。
新しいデータ行を追加しても計算式が引き継がれやすく、毎回コピーする手間を減らせます。
【操作のポイント】毎月更新する一覧や商品マスターでは、テーブル化によって数式のコピー漏れを防ぎやすくなります。
削除後の値を固定する方法
続いては、数式で作成した削除後の文字列を固定値へ変換する方法を確認していきます。
| 状態 | B2に表示される内容 | 元のA2を変更した場合 |
|---|---|---|
| 数式のまま | 計算結果 | 結果も変わる |
| 値に変換後 | 確定した文字列 | 結果は変わらない |
数式のまま保存すると、参照元のセルを編集したときに結果も再計算されます。
納品データやアップロード用のデータなど、結果を確定したいときは値として貼り付けます。
値として貼り付ける操作
数式の結果が入っているB列の範囲を選択し、CtrlキーとCキーでコピーします。
同じ範囲を右クリックし、貼り付けのオプションから値を選択します。
ショートカット操作では、CtrlキーとAltキーとVキーを押して形式を選択する方法もあります。
値に変換すると、数式バーにはLEFT関数の式ではなく、実際の文字列が表示されます。
提出用やCSV出力用の列は、最終確認後に値へ変換すると意図しない再計算を防げます。
【操作のポイント】値への変換は元に戻しにくいため、数式の列を複製してから実行するか、直前に保存しておくと安心です。
元データを置き換える際の注意点
削除後の結果をA列の元データへ戻したい場合は、B列の結果をコピーし、A列へ値として貼り付けます。
その後にB列を削除すれば、一覧を整理できます。
ただし、元の文字列をあとで確認する可能性がある場合、上書きは避けたほうがよいでしょう。
作業用シートで変換し、元データ用シートを残しておく方法なら、修正依頼が来た場合にも対応しやすくなります。
ファイル名を変更して保存する、または別シートへ複製する方法も有効です。
【操作のポイント】業務データは上書き前にバックアップを作り、変換前と変換後を比較できる状態で作業します。
空白セルと数式結果の確認
数式を下までコピーした後、A列に空白セルがあると、B列にも空白やエラーが表示される場合があります。
空白セルでは何も表示しないようにするには、最初にA2が空白かどうかを判定します。
=IF(A2=””,””,LEFT(A2,LEN(A2)-4))
この式ではA2が空白なら空白を返し、値があるときだけ右から4文字を削除します。
空白行が混ざる名簿や、今後追加される予定の入力欄にも使いやすい数式です。
空白セルへの対応を入れておくと、見た目が整うだけでなく、エラー確認の作業も軽くなります。
【操作のポイント】実際のデータに空白行や短い文字列が含まれる場合は、基本式ではなく条件付きの数式を最初から使いましょう。
右から文字を削除する関数のまとめ
エクセルで右から文字を削除する場合、最も基本となる数式は=LEFT(A2,LEN(A2)-4)です。
この数式では、A2の文字数をLEN関数で数え、右から4文字を除いた数だけLEFT関数で取り出します。
右から3文字を削除したい場合は、末尾の4を3へ変えるだけで対応できます。
文字数が足りないデータが混在する場合は、IF関数で文字数を判定するとエラーを防げます。
拡張子のように削除する文字数が変わるケースでは、FIND関数でピリオドの位置を調べる方法が役立ちます。
末尾に付いた特定の語句を消す場合はSUBSTITUTE関数、最後の区切り記号以降を除く場合はTEXTBEFORE関数も選択肢になります。
数式を作成したら、フィルハンドルやコピーで下の行へ展開し、必要に応じて値として貼り付けて確定します。
まずは別列で結果を確認し、削除文字数と元データの形式に合った数式を選ぶことが、正確なデータ整形への近道です。