Excel

【EXCEL:関数】後ろの半角スペースを除去する

後ろの半角スペースを除去する trim編

後ろの半角スペースだけを取り除きたいことありませんか。後ろの半角スペースを取り除く場合、trim関数が一般的に利用されるが、trim関数は間のスペースも除去してしまう。上記例では、「EXCEL」の後に、半角スペースが2つ以上あった場合、1つだけスペースを削除してしまう。(スペースを△に置換している。)

B2列とD2列を参照してください。「EXCEL」と「太郎」の間のスペースが1個削除されてしまった。

できれば、このスペースは残したい。間のスペースを削除せずに、後ろの半角スペースを削除するにはどうすればよいか。

後ろの半角スペースを除去する find/rept の組み合わせ編

上記が、「find」と「rept」を利用した例。△:スペースがちゃんと2つ残っている。5個の後ろスペースはちゃんと除去できている。どういう数式詳しくみていく。

C5に入れている数式

=LEFT(A5,FIND(REPT(" ",99),A5&REPT(" ",99))-1)

スペースを除去したい文字列の後ろにスペースを99個結合している。なぜ99個か。99個でなくてもよいが。間の削除したいスペースより大きい数だったらよい。安全をみて99個。findは文字列を検索して文字列の位置を返却する関数。ここでは、99個を探している。文字列に99を付けたので、実際は、104個ついている。先頭から、99個を探すので、半角スペースの最初の位置を見つけることができる。

あとはleft関数でその文字列の位置の1個まで切り出せば、文字列が切り取れる。

-Excel