上のようにA列に空白スペースを含む文字列があって、別のセルに空白スペースをなくした文字列を表示させたい時に、SUBSTITUTE関数を使います。
SUBSTITUTE関数の使い方
SUBSTITUTE関数は、
=SUBSTITUTE関数(文字列,検索文字列,置換文字列,置換対象)
で表され、文字列を置換したい時に使います。置換対象は、何個目の文字を置換したい場合などの指定がある時に使いますが省略できます。
今回は空白スペースを非表示にしたいため、” ”を””に置換することでそれが可能です。
上の例で、B1セルに次の数式を入力します。
=SUBSTITUTE(A1," ","")
これを解説すると、A1セルの文字列の全角スペース(” ”)を非表示(””)にしています。
スペースには全角と半角がある
ここでのポイントは、スペースには全角” ”と半角” “があるということです。
とたえば、A2セルの文字列のスペースを消すために、先ほどのB1セルの数式を下にコピーします。
しかし、これでは半角スペースが埋まりません。
これは、先ほど入力した数式は全角スペース” ”を使っていたため、A2セルの文字列に入っている半角スペースが埋まらないというわけです。
そこで、半角スペースを消すために次の数式を入力します。
=SUBSTITUTE(A2," ","")
→先ほどの全角スペース” ”を半角スペース” “に変更しただけです。
これでうまく空白のスペースが埋まりました。
全角・半角を気にせず空白スペースを埋める方法
しかし、このようなやり方だと、文字列に入っている空白スペースが、全角なのか半角なのか一つずつ判断していかなければいけません。
そこで、文字列の中の空白スペースが全角か半角かを区別せずにスペースを消す方法を紹介します。
上の例で、C3セルに次の数式を入力します。
=SUBSTITUTE(SUBSTITUTE(A3," ","")," ","")
これを解説すると、中に入っているSUBSTITUTE(A3,” ”,””)で、全角スペースをを埋めて、それで空白が埋まらなかったら、つまり空白スペースが半角だったら、外側のSUBSTITUTE(全角で埋まらない場合),” “,””)で半角スペースを埋めるという意味です。
この数式を用いると、文字列に入っている空白の大きさに関わらず、スペースを埋めてくれます。