Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 余分なスペースを削除する−TRIM関数

余分なスペースを削除する−TRIM関数

対象:Excel97, Excel2000, Excel2002, Excel2003

実務では、他のシステムから出力したデータをExcelで利用するといったことがあります。

こういった場合に、出力元のシステムによってはデータの後にスペースが入っていることもあったりするため、
「エクセルで余分なスペース・空白を削除するにはどうすればいいのか?」
といったご質問につながっていきます。

[スポンサード リンク]

プログラミングの経験がある方にとっては、おそらく馴染み深い名前のワークシート関数が用意されています。


▼余分なスペースを取り除くワークシート関数
TRIM関数

使い方はスペースを削除したい文字列を引数に指定するだけです。
例えば、A1セルに文字列が入力されていて余分なスペースを削除するのならば
「=TRIM(A1)」
という数式を入力してください。


プログラミングの経験がある方にこのTRIM関数についてご紹介すると、
「じゃあLTRIM関数・RTRIM関数もあるのですか?」
といったご質問をいただくことがあります。

答えはNoです。
プログラミング言語でありがちな、左側(先頭)のスペースを削除するLTRIM関数や、右側(末尾)のスペースを削除するRTRIM関数は、Excelのワークシート関数としては用意されていません。

但し、VBA(Visual Basic for Applications)には、LTrim関数・RTrim関数が用意されているので、これらのVBA関数を呼ぶユーザー定義関数を作成することで、簡単に左側スペースの削除・右側スペースの削除といった機能を実装することは可能です。


むしろ特にプログラミング経験のある方が注意すべきなのは、TRIM関数の仕様です。

一般的にプログラム言語でのTrim関数と言えば、前後のスペースだけを削除するという仕様だと思うのですが、ExcelのTRIM関数はそうではないのです。

前後のスペースを取り除く上に、文字列の間にある余分なスペースも削除するのがワークシート関数・TRIMの仕様なのです。

例えば、A1セルに
「   渋       谷   」
といった文字列があったときに
「=TRIM(A1)」
とした場合、
「渋 谷」
という文字列が返されます。

多くのプログラミング言語のTrim関数の仕様からすると、前後のスペースだけが削除され
「渋       谷」
といった文字列になりそうなものですが、そうではないのです。

また全てのスペースを削除して
「渋谷」
となるわけでもありません。

文字列の間にあるスペースは1つだけを残して削除するのです。

このとき間にあるスペースが、
全角スペース・半角スペース・・・
といった順であれば全角スペースが残され、
半角スペース・全角スペース・・・
の順ならば半角スペースが残されます。
先頭にあるスペースが残されるわけです。

前後のスペースだけを削除する関数が必要ならば、VBAのTrim関数を呼ぶユーザー定義関数を作成するのが手っ取り早いでしょう。

関連語句
いらないブランクを無くしたい

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 余分なスペースを削除する−TRIM関数

[スポンサード リンク]

トラックバック:3

TrackBack URL
スペースをすべて削除する−SUBSTITUTE関数 from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 余分なスペースを削除するTRIM関数についてご紹介しました。 ただし、TRIM関数は先頭と末尾にあるスペースは全て削除してくれますが、文字列の間にあるスペースは一つだけ残すという仕様である点に注意が必要です。 実務ではむしろ、すべ...
文字の後ろの空白を削除したい−ユーザー定義関数 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 「文字列の後のスペースだけ削除したいのですが・・...
Excel2010・2007の条件付き書式で空白なし条件を指定した場合−LEN関数・TRIM関数 from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007, Excel2010 Excel 2007・2010の条件付き書式では、空白以外と...

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 余分なスペースを削除する−TRIM関数

「文字列」の記事一覧

検索

このページの上部へ戻る

.