Excel

【Excel】エクセルで右から3文字を削除(3文字目だけも消す:後ろ:最後:末尾:関数、マクロ、n文字目)する方法

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事ではエクセルで右から3文字を削除する方法と右から3文字目だけを削除する方法について解説します。

ポイントは以下の4つです。

・LEFT関数とLEN関数を組み合わせて右から3文字を削除する方法

・LEFT関数とLEN関数を組み合わせて右から3文字目だけを削除する方法

・右から3文字を削除するマクロ

・右から3文字目だけを削除するマクロ

エクセルで右から3文字を削除する方法【LEFT関数とLEN関数】

以下のサンプルを用いて関数を使った右から3文字削除の方法を確認します。

A列に元データを入力し、B2セルに以下の数式を入力します。

=LEFT(A2,LEN(A2)-3)

LEN(A2)-3で元データの文字数から3を引いた文字数分、左端からLEFT関数で文字列を取り出すことで、右から3文字を削除しています。

ENTERで処理を確定させ、B2セルからオートフィルでB列全体に数式をコピーします。

元データを変更すれば、B列の結果も自動的に更新されます。

LEFT関数とLEN関数の組み合わせは、文字列の右端からn文字削除したい場合に応用できる便利なテクニックです。

エクセルで右から3文字目「だけ」を削除する方法【LEFT関数とLEN関数】

次はエクセルで右から3番目だけを削除する方法です。

以下のデータを用いて、確認していきましょう。

A列の元データに対し、B2セルに以下の数式を入力します。

=LEFT(A2,LEN(A2)-3)&MID(RIGHT(A2,3),2,1)&RIGHT(A2,1)

右から3文字目より前をLEFT関数とLEN関数で、右端から3文字のうち2文字目をMID関数とRIGHT関数で、右端から1文字をRIGHT関数で取り出し、&で結合することで右から3文字目だけを削除しています。

ENTERで処理を確定させオートフィルでB列全体にコピーします。

右から3番目に入力されていた「@」が削除されたことが分かりますね。

LEFT、LEN、MID、RIGHT関数の組み合わせは、文字列の右からn文字目だけを削除したい場合に応用できる便利なテクニックです。

LEFT関数とLEN関数で右から3文字を削除する方法【マクロ自動化】

右から3文字削除をマクロで自動化するには、以下のコードをVisualBasicエディタに入力します。



Sub DeleteLast3Characters()
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("B2").Formula = "=LEFT(A2,LEN(A2)-3)"
Range("B2").AutoFill Destination:=Range("B2:B" & lastRow) 
End Sub

A列の最終行を自動判定し、B2セルに数式を入力後、B列全体にオートフィルします。

マクロを実行すれば右から3文字削除が一発で完了します。

LEFT関数とLEN関数で右から3文字目だけを削除する方法【マクロ自動化】

右から3文字目だけの削除をマクロ化するには、以下のコードをVisualBasicエディタに入力します。



Sub DeleteThirdCharacterFromRight()
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("B2").Formula = "=LEFT(A2,LEN(A2)-3) & MID(RIGHT(A2,3),2,1) & RIGHT(A2,1)"
Range("B2").AutoFill Destination:=Range("B2:B" & lastRow)
End Sub 

マクロを実行すれば、A列の元データから右から3文字目だけを自動削除できます。

まとめ エクセルで後ろ・末尾から3文字を削除(消す最後:関数、マクロ、n文字目)する方法

エクセルで右から3文字を削除する方法と右から3文字目だけを削除する方法を関数とマクロで実現する方法を紹介しました。

状況に応じて使い分けることが大切です。