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

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

対象:Excel97, Excel2000, Excel2002, Excel2003

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

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

[スポンサードリンク]

余分なスペース・空白を削除するTRIM関数

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

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

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

TRIM関数はあるがLTRIMやRTRIMはない

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

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

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

TRIM関数の仕様に注意

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

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

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

TRIM関数の挙動

例えば、A1セルに
「   渋       谷   」
といった、文字列の前後や、間に複数の全角スペースの含まれるときに
  =TRIM(A1)
という数式では、
「渋 谷」
という文字列が返されます。

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

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

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

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

先頭にあるスペースが残されるわけです。

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

最終更新日時:2019-01-14 06:59

[スポンサードリンク]

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

「文字列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.