実務でExcelをデータベースツールとして使っていると、データの整理について様々な要望が出てきます。
「エクセルで後ろのn文字を削除する関数ってないのでしょうか?」
「エクセルで文字列の右側からn文字を削除するにはどうしたらいいのでしょう?」
といった要望です。
Excelでデータベースを作成するような場合にデータをキレイにする作業が出てきます。Accessにデータを取り込む前にExcelでデータの整理を行うといったことも行われます。
例えば、住所だけのフィールドが欲しいのに、入手できたデータはなぜか住所の後ろに郵便番号がくっついたものだったりするといったことがあります。このようなときに、後ろ・右からn文字を削除したいといった要望をいただくことになります。
単純に左からn文字取得したいのならLEFT関数、右からn文字を取得したいのならRIGHT関数を使えばいいのですが、文字列の右側からn文字・後ろからn文字を削除するといった関数は用意されていません。
ですが、いくつかの関数を組み合わせてやることで、右側からn文字・後ろからn文字削除することができます。
いろいろな方法を考えられますが、文字列長を調べるLEN関数と、左から指定された長さの文字を取得するLEFT関数を使った方法を、まずはご紹介します。
※A1セルの文字列の右側7文字を削除してB1セルに表示する例 B1セルに
=LEFT(A1, LEN(A1)-7)
という数式を入力する
LEFT関数は、文字列の先頭から指定された数の文字を返してくれる関数です。
第1引数には元の文字列
第2引数には何文字取得するか
をそれぞれ指定します。
今回のポイントはLEFT関数の第2引数です。
LEN関数を使って、元の文字列A1セルに入力されている文字列が何文字あるのかを調べ、その数値から「7」をマイナスしています。
それが「LEN(A1)-7」の意味です。
これをLEFT関数の第2引数に指定することで、結果的に右から7文字削除した文字列が取得できるわけです。
最終更新日時:2021-04-05 13:24
- Newer:元利均等返済の支払利息総額を計算するには−CUMIPMT関数
- Older:脚注・文末脚注のポップヒントが表示されない
Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 右から(後から・末尾から)n文字を削除したい−LEN関数・LEFT関数