関数 EXCEL&VBA

エクセルで特定の文字を削除できないときの対処法

セルに含まれる文字列の中から 特定の文字だけを削除 したい。
そんなことありませんか?

セル内の何文字目に目的の文字が入力されているのか不明、それどころか 含まれているかどうかさえも不明。

これ、人力(目視)でやっていたら大変!
そこで今回は「特定の文字を削除できないときの対処法」をピックアップします。



特定の文字を削除する

特定の文字を削除するには「置換の関数」を応用すると便利です。
ここで使用するのが SUBSTITUTE関数 です。

SUBSTITUTE関数

SUBSTITUTE関数とは、文字列中の指定した文字を新しい文字で置き換える関数で書式は;

SUBSTITUTE(文字列, 検索文字列, 置換文字列

のように表されます。 そう、置き換え(置換)の関数なのです。

SUBSTITUTE関数の「検索文字列」の部分を、削除したい特定の文字に置き換えます。
置換文字列」の部分は "" にしておけば特定の文字を削除(≒潰す)ことができます。

削除したい文字が何文字目にあるかわからなくても削除してくれるのでとても便利です。

セルに含まれるスペースを全て削除する

SUBSTITUTE関数 を スペースの削除 に応用します。
このサンプルは、スペースに限らず「特定の文字削除」全般に使えるので覚えておくと便利です。

下の図は、A列にスペースがランダムに配置された文字列が入力されています。


セルB2に;

=SUBSTITUTE(A2, " ", "" )

と入力すると、全角スペースがすべて削除("" に置換)されます。

セルA2には全角スペースと半角スペースを混在させてあります。
上の数式では全角スペースしか削除できないので、その場合は「入れ子」にして SUBSTITUTE関数 を繰り返します。

=SUBSTITUTE(SUBSTITUTE(A3, " ", "" ) , " ", "" )

そうすることで上図のように全角・半角 全てのスペースを削除できます。


「特定の位置」にある不特定の文字を削除する

SUBSTITUTE関数 を紹介しましたが、これは置き換え対象の文字が決まっている場合に有効です。

「セル内に表示される文字の左から4番目と5番目の2文字を『売上』という文字に変更する」のように、セルに表示されている文字がわからないけれど「特定の決まった位置」に表示される場合はどうでしょう?

このような場合に有効な関数が、REPLACE関数 です。

REPLACE関数

REPLACE関数とは、文字列中の指定した位置の文字列を置き換える関数で;

REPLACE(文字列, 開始位置, 文字数, 置換文字列 )

のように表されます。

下の例は、組織変更によって A列の部署名が全て変更になるというケースです。
セルB2に;

=REPLACE( A2, 1, 2, "業務統括" )

と入力します。
この意味は「セルA2の 1文字目から 開始して 2文字分 を『業務統括』に置換する」ということです。

結果は上の画像のとおり、A列の先頭2文字分が置換されて、B列は全て「業務統括」課になりました。

郵便番号からハイフンを削除する・ハイフンを挿入する

最後はおまけですが、SUBSTITUTE関数 でも REPLACE関数 でも通用するサンプルです。

郵便番号には「100-1234」などのように、通常は「ハイフン」が入っています。

ハイフンが入力されている郵便番号からハイフンを削除するのは簡単です。
前述の SUBSTITUTE関数REPLACE関数 を使って;

=SUBSTITUTE ( 対象セル, "-", "" )

あるいは

=REPLACE ( 対象セル, 4, 1, "" )

のようにハイフンを削除します。

逆に、ハイフンのない7ケタの郵便番号の 3ケタ目と4ケタ目の間にハイフンを挟むケースは;

=REPLACE ( A2, 4, 0, "-" )

と数式を入れます。
ポイントは、「文字数」の部分を「0」にすることです。

すると簡単に4文字目にハイフンが挿入されます。

以上で『エクセルで特定の文字を削除できないときの対処法』は終了。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告



覚えておくとさらに便利

EXCELで「文字列の置換・削除」方法をパターン別にまとめた
関数・文字列操作
Excelで特定の文字を削除したり文字列を置換(置き換え)したり、文字列に含まれる余分なスペースや文字を削除したりする方法のまとめです。置換の関数や削除の関数をパターン別に例示し...




-関数, EXCEL&VBA
-, ,