Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

置換しようとしたら全て消えた

先日、置換したんですよ。置換。
f:id:ExcelLover:20210522120012g:plain

じゃぁ全てが消し飛んだんですよ。全てが。

ビックリしますよね。


上記の例では「*」(アスタリスク)を空白に置換しようとしました。

しかし「*」は置換で特別な意味を持つ文字なのです。

ワイルドカード

通常、置換では検索する文字列に入力した文字を置換後の文字列に変換します。

f:id:ExcelLover:20210522120047p:plain

この例で言えば「A」という文字を「Z」という文字に変換します。

ところが一部の文字を検索する文字列に指定すると特別な意味を持つようになります。

文字 意味
* 任意の数の文字。たとえば、「Win*」と入力すると "Win98" や "Win2000" が検索されます。
? 任意の 1 文字。たとえば、「インターフェ?ス」と入力すると "インターフェイス" や "インターフェース" が検索されます。
~ 疑問符、アスタリスクチルダの前に入力してそれらの文字を検索します。

[検索でのワイルドカード文字の使用 - Excel

support.microsoft.com

*(アスタリスク)

検索・置換での「*」は0文字以上のあらゆる文字の組み合わせを表します。
上記の表の例で言えば、「Win* 」とすると、Winで始まる文章をどんな文章であれ最後まで抽出することになります。

?(疑問符)

検索・置換での「?」は任意の1文字を表します。
「??」とすれば任意の2文字を表します。

~(チルダ)

検索・置換で特別な意味を持つ*、?、~の3文字を検索するために使用します。

例えば「*」を検索したいのであれば「~*」と入力すれば「*」を検索することができます。

置換で全てを消さない対策

全ての文字列を消し飛ばした最初の例は

「*(全ての文字列)」を「 (空白)」に置換するという意味になっていたのです。

つまりExcelの動作としては何も間違ったことは起きていないのでした。

対策としてはこのように検索文字列を設定すればOK。

f:id:ExcelLover:20210522120312p:plain

f:id:ExcelLover:20210522120325g:plain

無事に「*」だけ置換することができました。