エクセルでアスタリスク「*」を置換操作で消す方法
この記事では、[検索と置換] 機能で、アスタリスク(*)を削除する方法について記載しています。
アスタリスク(*)は、Excelではワイルドカードとして扱われるため、通常の [検索と置換] 操作を行うと、うまく削除ができないためです
※ ワイルドカードについては、文末に説明を加えています
事例を実際に見てみましょう。

このキャプチャ例では、文字列の先頭に「*」が入力されています。
Rawデータによっては、システムが原因で不要な文字列が含まれる場合があります。
他の文字列であれば問題ありませんが、(*)はワイルドカードのため、これをそのまま [検索と置換] 機能で一括して削除してしまうと、セルの文字列がすべて消えてしまう問題が出てくるのです。
この操作が必要な皆さんは、ここで手詰まりになってしまっていると想定しています。

この場合、エスケープ記号を使って回避します。

アスタリスク(*)を消す方法は、[検索と置換] → [検索する文字列]に、チルダ「~」という記号を加えてください。
「~*」と指定すれば、アスタリスク(*)を除去できることができます。「~」のキー入力は、一般的なキーボードであれば「Shift + ^(ひらがなの「へ」のキー)」です。

このチルダというのは、エスケープ文字列と呼ばれ、既存の記号の持つ効果を打ち消してくれる特殊な文字列のようです。
様々なプログラミングでも、こういうのがあるんですよ。
【参考】Microsoft公式ヘルプ
補足:ワイルドカードとは
アスタリスク(*)は、Excelなどの多くのプログラムで「ワイルドカード」として認識されます。ワイルドカードとは、特定の位置の文字を問わずに変換命令を出すことができます。
例えば、「*」を使った検索では、前方一致や後方一致を行うことができます。
- “apple*” は “apple”で始まる任意の文字列に一致(例:”applepie”, “appletree” など)。
- “*apple” は “apple”で終わる任意の文字列に一致(例:”pineapple”, “caramelapple” など)。
ただし、検索条件として単に「*」を指定すると、それは「すべての文字列」という意味になります。これが、セル内のデータがすべて選択されてしまう理由です。
昔の銀号通帳をスキャンしてエクセル化する作業をしていて、全ての数値の前に*がついていて、そのままでは、数値の集計ができなくて困っていました。そうかといって置換すると、数字もろとも全て消えてしまうし…苦肉の策として、列ごとに、=VALUE(SUBSTITUTE(A1,”*”,””))という関数を使っていましたが、なんとも面倒で置換の一括変換があきらめきれなかったところ、榊様に良い方法を教えていただき、感謝感謝です。
昔のブログですが、お役に立ててよかったです! 放置しすぎて、広告だらけでしたね。無事に解決できてよかったです。
集計データで欠測を*で表しているものがあり、それを統計ソフトで処理する際に*が文字扱いになってしまうため困っていました。変更することができ助かりました。
KH様
昔のブログですが、お役に立ててよかったです!