Excelを利用していると「右から●文字だけまとめて削除できたら便利なのに。。。」と思いながらどうしてよいか分からず放置してしまうこともあると思います。
右から●文字を抜き出すのであれば、RIGHT関数が利用できると思いつきます。
右の●文字分を削除したいなら左から●文字を抜き出すLEFT関数は?と思いますが、月のように「1月」「12月」などとなっていたり、金額のように「100円」「10,000円」のようになっていると使えません。
そんなときに利用するのが「右から●文字削除」を実現できる関数です。組み合わせをすることで実現できます。
目次
1. Excelで右から文字を削除するためにLEFT関数+LEN関数を使う
「1月」「12月」の月を削除するので「右から」と考えるのでRIGHT関数を思い浮かべがちですが、LEFT関数を活用していきます。
LEFT関数だと無理では?と思いつきますが、これはLEFT関数が決まった文字数を抜き出す関数だからですね。
もし抜き出す数字を変動させることができれば問題ないですよね。
このように考えていきます。
ポイント
・LEFT関数は「左から●文字を抜き出す関数」
・LEFT関数だと「左から●文字」という決められた数しか抜き出せない
・「1月」「12月」など右から1文字の「月」を削除したいが削除する関数は知らない
・結局、削除する関数を知らない上に左側の数がバラバラで困る
このような条件の中ですが、「右から1文字」削除したいという共通点がありますよね。
言い換えればセルの文字数から1文字減らした数を左から抜き出しても同じですね。
そんなときにセルの文字数をカウントするLEN関数が活躍します。
「セルの中の文字数を数えて、1文字減らした数を左から抜き出す」
という発想であれば、左側の文字数や桁数がバラバラでも大丈夫ですよね。
参考
RIGHT関数を使っても右から1文字を抜き出せるが削除できないです。
「1月」「12月」の右から1文字「月」を抜き出すのであればRIGHT関数でもいいですね。
2. 右から1文字をLEFT関数+LEN関数で抜き出してみる
LEFT関数の抜き出す文字数を変動させる関数はLEN関数です。LEN関数はセル内の文字を数える関数ですよね。
LEN関数はセル内の文字数をカウントする関数ですので、文字数がバラバラであっても「セルの文字数-1」としてあげれば1文字削除していることに同様になりますよね。
よって、LEFT関数とLEN関数を使って、「左から文字数-1の文字を抜き出す」つまり「右から1文字削除する」と同様のデータを作成することができます。
LEFT関数を詳しく知りたい方はこちら(サイト内)
続きを見る
ExcelのLEFT関数で左から〇文字を抜き出そう【基本~応用】
2-1. LEN関数を使って抜き出したい数を変動させる
LEN関数を利用すれば、「LEN関数」の列のとおり文字数をカウントできます。「6月」なら「2」、「12月」なら「3」ですね。
ここから「-1」をすると、「6月」なら「1」、「12月」なら「2」となりますね。
この数字を左から抜き出せば、右から1文字「月」を削除したことと同様の値が取れますね。
このようにLEN関数を組み合わせれば、左から抜き出したい数を変動させることができます。
LEN関数は =LEN(B4) のように記述します。
LEN関数-1は =LEN(B4)1 のように記述します。
2-2. LEFT関数+LEN関数で右から1文字を削除した結果
LEFT関数とLEN関数を組み合わせた式を作ると、右から1文字「月」を削除したデータを実際に作ることができました。
=LEFT(B4,LEN(B4)-1)
3. 「●●円」「●●%」などの単位・記号を削除する時も便利
いろいろな場面で単位や記号がついていて、その単位や記号を削除したいと考えることがあります。
実際には、単位を削除することで計算ができるようになったり、グラフ化できるようになる、つまり数字として扱われるようになるので、単位や記号を削除したいニーズは多々ありますね。
3-1. LEFT関数+LEN関数で右から1文字を削除
右から1文字の単位や記号を削除するケースを考えると「月」のほかにこんなケースでも利用できますね。
・「●●円」の「円」を取って数値にしたい
・「●●%」の「%」を取って数値にしたい
・「●●駅」の「駅」を取ってデータにしたい
3-2. 右から削除する文字が共通であれば「置換」も便利
1章と2-1などで右から1文字を削除するケースを見てきましたが、意外に削除したいデータが同じケースが多くあります。
「月」「円」「%」などは全部のデータに共通して入っている可能性が考えられます。
右から削除する文字が共通の場合には、LEFT関数とLEN関数の組み合わせではなく「置換(Ctrl+H)」の仕組みを使った方が便利ですね。
・検索する文字列 : 月
・置換後の文字列 :(何もなし)
上記のような条件で置換をすると「月」というデータを、スペースでもなく「(何もなし)」で置き換えると「月」が削除されたデータと同じになります。
LEFT関数とLEN関数の組み合わせだと2列必要になったり、このあと右から1文字削除したデータを「値」として保存しなおすなど手間がかかりますが、置換が利用できれば現在のセルが一斉に置換されるのでそのあとの手間も削減されて便利です。共通のデータを削除したい場合にだけ利用できる機能ですね。
4. 「●億円」「●月決算」など右から2文字・3文字を削除
LEFT関数とLEN関数の組み合わせは右から1文字の時だけ利用できるのではなく、「右からN文字」つまり何文字でも対応できます。
いくつか例を見ていきましょう。
(1)右から2文字を削除したい : 「●億円」の「億円」を削除したい
(2)右から3文字を削除したい : 「●月決算」の「月決算」を削除したい
LEFT関数とLEN関数の組み合わせでは、こちらの式のようになります。
(1)右から2文字を削除したい : =LEFT(B4,LEN(B4)-2)
(2)右から3文字を削除したい : =LEFT(B4,LEN(B4)-3)
5. 「1,000,000円」⇒「100」など右から削除で桁変更も可
応用をしていくにはたくさんの可能性がありますが、よく利用するケースとして「1,000,000円」という表記を「100(万円)」に直したいような桁数を調整するために右から削除したいということもできます。
計算式で求めることもできますが、円を外してから10,000で割るという考え方は手間がかかりますよね。
●万円に直すときは実際には右から4桁を削除することになりますのでこのように表現します。
=LEFT(B4,LEN(B4)-4)
6. 削除したい右からの文字数が異なる場合には利用できない
削除したいのが右側の文字だけど削除したい文字数がバラバラというケースは、LEFT関数とLEN関数の組み合わせでも解決できません。
「●●様」「●●●御中」が混ざっている場合などです。
ただし、このような場合でも2-2のように「様」「御中」の2種類を外すだけのように、規則性のある内容であれば置換を2回行うと実際には該当する文字を削除することができます。
さいごに
右から●文字削除する方法が、その情報の左から●文字を抜き出す処理で行われている点は驚いたのではないでしょうか。
また、LEFT関数を使っているとアタマの中では左から●文字という決まった文字数を抜き出すことかできるが、バラバラの場合には使うことができないと考えがちです。
LEFT関数の課題である変動要素の解決策として最適なLEN関数があることが分かりましたので、LEFT関数とLEN関数の組み合わせを有効活用できるとさらにExcelで対応できる範囲が広がっていきますね。