併せて右からn文字目だけ削除する方法も紹介します。
右からn文字を削除する方法
次の画像では、B3セルの文字列のうち右から3文字(くけこ)を削除した結果を、C3セルの数式により取得しています。
C3セル
=LEFT(B3,LEN(B3)-3)
文字列の左側の部分を抽出するLEFT関数を使っています。
LEFT関数の構文は次の通りで、第2引数(抽出する文字数)として「文字列の文字数-削除する文字数(n)」つまり「LEN(B3)-3」を指定することで結果的に右側の3文字を削除しています。
LEFT(文字列 [,文字数])
次の画像ではnとしていくつかの値を指定しています。
nが文字列の文字数と等しいと空文字列が返り、文字数を超えるとエラーが返ります。
D3セル
=LEFT(B3,LEN(B3)-C3)
右からn文字目だけ削除する方法
右からn文字目の1文字だけを削除する方法です。
次の画像ではB3セルの文字列の3文字目(く)だけを削除した結果を得ています。
C3セル
=REPLACE(B3,LEN(B3)-3+1,1,"")
文字列の一部を置き換えるREPLACE関数を使っています。
構文は次の通りで、第2引数を「文字列の文字数-n+1」、第3引数を削除する文字数「1」、置換先を「""」とすることで結果的に右からn文字目だけを削除することができます。「+1」を忘れると誤りですので注意が必要です。
REPLACE(文字列, 開始位置, 文字数, 置換先)
次の画像ではnとしていくつかの値を指定しています。
nが0だと元の文字列がそのまま返り、文字数を超えるとエラーが返ります。
D3セル
=REPLACE(B3,LEN(B3)-C3+1,1,"")
本編より長くなってしまいますが2つ目の方法も紹介しておきます。
次の画像では別の関数を使ってB3セルの文字列の3文字目(く)だけを削除した結果を得ています。
C3セル
=LEFT(B3,LEN(B3)-3)&RIGHT(B3,3-1)
文字列の左側を抽出するLEFT関数に加えて、文字列の右側を抽出するRIGHT関数を使い、2つの抽出結果を「&」でつないでいます。
削除しようとする文字の手前(左側)と後(右側)をそれぞれ抽出してつなげる、という発想は単純ですが式に表そうとすると意外に難しいです。
nとしていくつかの値を指定する例です。
nが0だったり文字数を超えるとエラーが返ります。
D3セル
=LEFT(B3,LEN(B3)-C3)&RIGHT(B3,C3-1)