【エクセル】文字列から空白(スペース)を削除する方法!VBAでの実行まで!

このページでは、以下の画像のようにセル上に記入されている文字列から空白(半角スペース)を取り除いく方法をご紹介していきます。

セルに記入されている文字列から空白を除去した新らな文字列を作成している様子

応用すれば、空白でなくてもアンダーバー(_)だったり、カンマ(,)にも対応可能です。

 

意外とよく使うスキルのなのでぜひやり方を覚えておきましょう。

 

それではさっそくやっていきましょう。

 

スポンサーリンク

指定した文字を除去できる関数(SUBSTITUTE関数)

今回はSUBSTITUTE関数というものを使って、冒頭に紹介した処理を実行してみます。

 

SUBSTITUTE関数の使い方は以下の通りです。

=SUBSTITUTE(“指定文字列”, “除去したい文字列”, “除去文字列の代わりの文字列”)

 

今回の場合は、上の”除去したい文字列”が空白(” “)で、”除去文字列の代わりの文字列”が何もない状態(“”)という形で指定してあげれば空白を除去することが可能です。

 

スポンサーリンク

SUBSTITUTE関数で空白除去する方法

それでは実際にやってみましょう。

 

以下の画像が空白を含む文字列に対して先ほどのSUBSTITUTE関数を適用し、空白(スペース)を除去している様子です。

SUBSTITUTE関数で文字列から空白を削除している様子

画像に示しているように

=SUBSTITUTE(指定文字列セル, ” “, “”)

という形で指定すればOKです。

 

もしアンダーバーを除去したい場合は

=SUBSTITUTE(指定文字列セル, ”_”, “”)

 

カンマを除去したい場合は

=SUBSTITUTE(指定文字列セル, ”,”, “”)

という形で指定すればOKです。

 

数式入力が終わったらエンターを押してみましょう。

SUBSTITUTE関数を使って文字列から空白を削除した結果

問題なく空白が除去されていますね。

 

今回対象にした文字列(www   higashi  salary com)は空白が3つ、2つ、1つという複数のパターンを持っていましたが、一括で除去することができていますね。

 

スポンサーリンク

VBA上で指定文字列から空白を除去する方法

最後にSUBSTITUTE関数を使った空白削除処理をVBA上で実行してみましょう。

 

以下がそのサンプルコードです。

Sub delete_space()
    Dim base_str As String
    base_str = Range("A1")
    Range("A2") = WorksheetFunction.Substitute(base_str, " ", "")
End Sub

 

基本的にはWorksheetFunction.Substituteを使って、先ほどエクセル上で実行していた処理を行っているだけですね。

 

こちらも状況に応じて使えるようにしておきましょう。

 

スポンサーリンク

おわりに

というわけで今回は、エクセル上で指定した文字列から空欄(スペース)を除去する方法をご紹介しました。

データ整理の際などにぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました