余分なスペース(空白)を削除するTRIM関数についてご紹介しました。
このTRIM関数は、先頭と末尾にあるスペースは全て削除してくれますが、文字列の間にあるスペースは一つだけ残す、という日本語環境ではあまり意味のない仕様である点に注意が必要です。
日本語環境では、すべてのスペースを削除したいということの方がよくあります。
スペースをすべて削除する数式
そんなときにはSUBSTITUTE(サブスティチュート)関数を利用するのがいいでしょう。A1セルのデータからスペースをすべて削除する例
=SUBSTITUTE(SUBSTITUTE(A1, " ", ""), " ", "")
SUBSTITUTE関数は、指定された文字を別の文字に置き換えてくれる関数で、
第1引数に元の文字列
第2引数に元の置換したい文字
第3引数に新しい置換後の文字
をそれぞれ指定します。
プログラミングの経験がある方の場合、Replaceといった名前の関数と同様の機能と考えていただくといいでしょう。
スペースの削除でSUBSTITUTE関数をネスト・入れ子にする理由
ここでSUBSTITUTE関数をネストして・入れ子にして使っているのは、スペースには全角スペースと半角スペースとがあるためです。
中側の「SUBSTITUTE(A1, " ", "")」
=SUBSTITUTE(SUBSTITUTE(A1, " ", ""), " ", "")
で全角スペースを削除し、
外側の「SUBSTITUTE(上記の結果, " ", "")」
=SUBSTITUTE(SUBSTITUTE(A1, " ", ""), " ", "")
で半角スペースを削除しています。
全角スペースと半角スペースはどちらを先に削除してもいいので、
=SUBSTITUTE(SUBSTITUTE(A1, " ", ""), " ", "")
でも同じ結果になります。
最終更新日時:2019-01-30 03:19
- Newer:マスタでプレースホルダを削除してしまった
- Older:ノートを印刷する
Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » スペース・空白をすべて削除する−SUBSTITUTE関数