このページでは、以下の画像のようにセル上に記入されている文字列から空白(半角スペース)を取り除いく方法をご紹介していきます。
応用すれば、空白でなくてもアンダーバー(_)だったり、カンマ(,)にも対応可能です。
意外とよく使うスキルのなのでぜひやり方を覚えておきましょう。
それではさっそくやっていきましょう。
指定した文字を除去できる関数(SUBSTITUTE関数)
今回はSUBSTITUTE関数というものを使って、冒頭に紹介した処理を実行してみます。
SUBSTITUTE関数の使い方は以下の通りです。
今回の場合は、上の”除去したい文字列”が空白(” “)で、”除去文字列の代わりの文字列”が何もない状態(“”)という形で指定してあげれば空白を除去することが可能です。
SUBSTITUTE関数で空白除去する方法
それでは実際にやってみましょう。
以下の画像が空白を含む文字列に対して先ほどのSUBSTITUTE関数を適用し、空白(スペース)を除去している様子です。
画像に示しているように
=SUBSTITUTE(指定文字列セル, ” “, “”)
という形で指定すればOKです。
もしアンダーバーを除去したい場合は
=SUBSTITUTE(指定文字列セル, ”_”, “”)
カンマを除去したい場合は
=SUBSTITUTE(指定文字列セル, ”,”, “”)
という形で指定すればOKです。
数式入力が終わったらエンターを押してみましょう。
問題なく空白が除去されていますね。
今回対象にした文字列(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を使って、先ほどエクセル上で実行していた処理を行っているだけですね。
こちらも状況に応じて使えるようにしておきましょう。
おわりに
というわけで今回は、エクセル上で指定した文字列から空欄(スペース)を除去する方法をご紹介しました。
データ整理の際などにぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント