OfficeType

Excel~TRIM関数で不要なスペースを削除しよう~エクセル

エクセルで不要なスペースを削除するTRIM関数について説明します。

  • TRIM関数の書式はTRIM(文字列)になります。
  • 文字列は不要なスペースを削除したい文字列を指定します。

単語1つの場合

TRIM関数は単語1つの場合はスペースは全て削除されます。

下の画像の例でセルB2にセルA2の先頭の半角スペース2個を削除して表示したい場合はセルB2に=TRIM(A2)と入力しEnterを押します。

文字列はセルA2の不要なスペースを削除したいのでA2になります。

つまりセルB2に=TRIM(A2)と入力しEnterを押すと、セルA2の先頭のスペース2個が削除されて表示されます。

複数単語の場合

TRIM関数は複数単語の場合は単語の間のスペースを1つ残します。

下の画像の例でセルB2にセルA2の不要なスペースを削除して表示したい場合はセルB2に=TRIM(A2)と入力しEnterを押します。

文字列はセルA2の不要なスペースを削除したいのでA2になります。

つまりセルB2に=TRIM(A2)と入力しEnterを押すと、セルA2の単語間のスペースを1つ残し、それ以外のスペースが削除されて表示されます。

半角全角スペースが混ざっている場合

TRIM関数は半角全角スペースが混ざっている場合は単語間のスペースは半角スペースが残されます。全角スペースに統一したい場合はSUBSTITUTE関数と組み合わせます。

下の画像の例でセルB2にセルA2の半角全角スペースが混ざった住所の単語間のスペースを全角1つに統一して表示したい場合はセルB2に=TRIM(SUBSTITUTE(A2," "," "))と入力しEnterを押します。

TRIM関数の文字列にはSUBSTITUTE(A2," "," ")が入力されています。SUBSTITUTE関数はSUBSTITUTE(文字列, 検索文字列, 置換文字列)で指定した文字列の中の検索文字列を置換文字列に置き換えます。SUBSTITUTE関数の文字列にセルA2、検索文字列に" "(半角スペース)、置換文字列に" "(全角スペース)を指定しているので、セルA2の住所の半角スペースを全角スペースに置き換えます。つまりセルA2の住所のスペースが全て全角スペースに統一された文字列がTRIM関数の文字列に使われます。

つまりセルB2に=TRIM(SUBSTITUTE(A2," "," "))と入力しEnterを押すと、セルA2の住所の単語間のスペースが全て全角スペース1つに統一されて表示されます。

セルB2からセルB7までオートフィルすれば各行のA列の住所の単語間のスペースが全角スペース1個に統一されて、B列に表示されます。

単語の数を求める

TRIM関数、LEN関数、SUBSTITUTE関数を組み合わせれば、指定したセルの単語の数を求めることができます。

下の画像の例でセルB2にセルA2の単語数を表示したい場合はセルB2に=LEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))+1と入力しEnterを押します。

まずLEN(TRIM(A2))について説明します。LEN関数はLEN(文字列)で文字列の文字数を返します。LEN関数の文字列にTRIM(A2)が入っています。TRIM(A2)はセルA2の住所の単語間の半角スペースを1つ残して、それ以外のスペースを削除した文字列になり、これがLEN関数の文字列に使われます。つまりLEN(TRIM(A2))はセルA2の住所から単語間の半角スペースを1つ残し、それ以外のスペースを削除した文字列の半角スペースを含んだ文字数を表します。

次にLEN(SUBSTITUTE(A2," ",""))について説明します。LEN関数はLEN(文字列)で文字列の文字数を返します。LEN関数の文字列にSUBSTITUTE(A2," ","")が入っています。SUBSTITUTE関数はSUBSTITUTE(文字列, 検索文字列, 置換文字列)で指定した文字列の中の検索文字列を置換文字列に置き換えます。SUBSTITUTE関数の文字列にセルA2、検索文字列に" "(半角スペース)、置換文字列に""(空白)を指定しているので、セルA2の住所の半角スペースを全て削除することを表します。つまりLEN(SUBSTITUTE(A2," ",""))はセルA2の住所から半角スペースを全て削除した文字列の文字数を表します。

つまりLEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))はセルA2の住所の単語間の半角スペースを1つに調整した時の文字数から、セルA2の住所の半角スペースを全て削除した時の文字数を引いた値が求まります。これは不要な半角スペースを削除した後の半角スペースの数になります。

最後に+1がついているので不要な半角スペースを削除した後の半角スペースの数に1を足すことで指定したセルの単語の数を求めています。

半角全角スペース混合の場合
  • 半角全角スペース混合の場合は上記の式では正確な単語数が求められないので以下の数式を使用してください。
  • =LEN(TRIM(A2))-LEN(SUBSTITUTE(SUBSTITUTE(A2," ","")," ",""))+1
空白の場合
  • 空白の場合は1となってしまうので空白の可能性がある場合は以下の数式を使用してください。
  • =IF(LEN(TRIM(A4))=0,0,LEN(TRIM(A4))-LEN(SUBSTITUTE(SUBSTITUTE(A4," ","")," ",""))+1)