Excelで表記ゆれや不要な文字列をまとめて直したいときは、[検索と置換]のワイルドカードが便利です。たとえば、商品コードの末尾だけを消す、特定の文字数だけ異なるデータを探す、といった作業を一気に進められます。私も大量の名簿や商品一覧を整えるときによく使う時短ワザです。
結論:Ctrl+Hで置換画面を開き、「*」「?」「~」を使います
ワイルドカードを使うと、完全に同じ文字列ではないデータもまとめて検索できます。ただし、[すべて置換]を押す前に[次を検索]で対象を確認することが大切です。特に「*」は広い範囲に一致するため、意図しないセルまで置換しないように注意しましょう。
Excelで文字列を一括置換する基本手順
まずは、特定の文字列を別の文字列へまとめて置き換える基本操作です。ワイルドカードを使わない通常の置換でも、操作手順は同じです。
- 置換したいセル範囲をドラッグして選択します。シート全体を対象にするなら、範囲選択は不要です。
- キーボードでCtrl+Hを押します。
- [検索と置換]画面の[置換]タブが表示されます。
- [検索する文字列]に、変更前の文字列を入力します。
- [置換後の文字列]に、変更後の文字列を入力します。
- 1件ずつ確認するなら[置換]、まとめて実行するなら[すべて置換]をクリックします。
たとえば、部署名の「営業一課」を「営業1課」に統一したい場合は、[検索する文字列]に「営業一課」、[置換後の文字列]に「営業1課」と入力します。対象範囲を先に選択しておけば、ほかの表やシートへ影響を広げずに済みますよ。
ワイルドカードの意味と使い方
Excelの検索と置換で主に使うワイルドカードは3つです。使い分けを覚えると、複数パターンの文字列をまとめて処理しやすくなります。
- *(アスタリスク):0文字以上の任意の文字列を表します。
- ?(半角クエスチョンマーク):任意の1文字を表します。
- ~(チルダ):「*」「?」「~」そのものを文字として検索するときの記号です。
「*」で末尾や途中の文字列が異なるデータをまとめて探す
「*」は文字数が決まっていない部分をまとめて指定したいときに使います。たとえば、セル内に「東京支店(旧)」「大阪支店(旧)」「福岡支店(旧)」のようなデータがあり、「(旧)」を含むセルを探したい場合は、[検索する文字列]へ「*(旧)」と入力します。
ただし、この例で[置換後の文字列]を空欄にしてすべて置換すると、「東京支店(旧)」のようにセル全体が一致した文字列として削除される可能性があります。「*」は前にある文字列も含めて検索するためです。不要な語句だけを消したいなら、ワイルドカードを使わず、[検索する文字列]に「(旧)」だけを入力して空欄へ置換するほうが安全です。
「?」で決まった文字数だけ異なるコードを置換する
「?」は1文字分だけ違うデータを対象にしたいときに便利です。たとえば、「A-01」「A-02」「A-03」をまとめて検索したい場合は、「A-??」と入力します。ハイフンの後ろに2文字あるデータだけを探せるので、「A-1」や「A-001」を対象から外しやすくなります。
- 対象の一覧を選択します。
- Ctrl+Hを押します。
- [検索する文字列]に「A-??」と入力します。
- 置換内容を指定する前に[次を検索]をクリックします。
- 意図したセルだけが選ばれることを確認してから、[置換]または[すべて置換]を実行します。
商品コードや管理番号など、文字数が固定されたデータの確認に向いています。
「~」でアスタリスクやクエスチョンマークそのものを検索する
セルに「*」や「?」が実際の記号として入力されている場合、そのまま検索するとワイルドカードとして扱われます。記号そのものを探すには、先頭に「~」を付けましょう。
- 「*」を検索したい場合:~*
- 「?」を検索したい場合:~?
- 「~」を検索したい場合:~~
たとえば、入力ミスでセル内に「*」が入ってしまった箇所を削除したいなら、[検索する文字列]へ「~*」、[置換後の文字列]を空欄にして置換します。
置換範囲を限定して誤操作を防ぐ方法
一括置換で起こりやすいトラブルは、関係ない表や列まで変更してしまうことです。作業前に範囲と検索オプションを確認しておくと安心です。
- 置換したい列またはセル範囲だけを選択します。
- Ctrl+Hを押して[オプション]をクリックします。
- [検索場所]が「シート」か「ブック」かを確認します。現在のシートだけなら「シート」を選びます。
- 数式ではなく表示されている文字を対象にするなら、[検索対象]を「値」にします。
- 大文字と小文字を区別したい場合だけ、[大文字と小文字を区別する]にチェックを入れます。
- [次を検索]で数件確認し、問題なければ[すべて置換]をクリックします。
置換直後なら、Ctrl+Zで元に戻せます。ただし、保存してファイルを閉じた後は戻せない場合があるため、大量データを操作するときはコピーしたシートで試してから本番の表へ反映しましょう。
うまくいかない場合のチェックポイント
ワイルドカードが効かず、文字として検索される
Excelの[検索と置換]では通常、「*」と「?」はワイルドカードとして使えます。それでも見つからない場合は、全角記号を入力していないか確認しましょう。ワイルドカードとして使えるのは、基本的に半角の「*」「?」「~」です。
置換結果が空白になった、必要な文字まで消えた
「*」を使った検索では、前後の多くの文字列が一致対象に含まれます。たとえば「*ABC」を空欄へ置換すると、「ABC」より前の文字もまとめて消えることがあります。部分的に文字を削除したいだけなら、「ABC」のように削除したい文字列だけを検索してください。
選択した範囲以外も置換された
範囲を選択する前に[すべて置換]を実行した可能性があります。また、[オプション]内の[検索場所]が「ブック」になっていると、別シートも対象になることがあります。すぐにCtrl+Zで戻し、対象範囲を選び直してから再実行しましょう。
見た目は同じなのに検索できない
セル内に余分な半角スペース、全角スペース、改行、似た文字が含まれていることがあります。たとえば「-(半角ハイフン)」と「-(全角ハイフン)」は別の文字です。数式バーをクリックして実際の文字列を確認し、必要に応じてコピーして検索欄へ貼り付けると見つけやすくなります。
数式の結果ではなく、数式そのものが置換された
[オプション]の[検索対象]が「数式」になっていると、セルに入っている数式を対象に検索します。表示結果の文字列を置換したい場合は「値」を選びましょう。数式を一括で変更する作業は参照先が壊れることもあるため、特に慎重に確認してください。
関数で文字列を置換したい場合はSUBSTITUTE関数を使う
元データを残したまま、別の列に置換結果を表示したいときはSUBSTITUTE関数が便利です。検索と置換は元のセルを直接変更しますが、関数なら結果を確認してから値として貼り付けできます。
=SUBSTITUTE(A2,"株式会社","(株)")
この式は、A2セル内の「株式会社」を「(株)」に置き換えます。なお、SUBSTITUTE関数では「*」や「?」をワイルドカードとして扱えません。ワイルドカードを使った条件指定が必要なら[検索と置換]を使い、決まった文字列を安全に置き換えるならSUBSTITUTE関数を使う、と覚えると迷いません。
最後に覚えたい時短ショートカット
- Ctrl+H:検索と置換を開く
- Ctrl+F:検索だけを開く
- Ctrl+Z:直前の置換操作を元に戻す
- Ctrl+C、Ctrl+V:検索したい文字列をコピーして貼り付ける
- F4:直前に行った操作を繰り返すことがあるため、置換後は意図せず押さないよう注意する
まずは小さな範囲で「?」や「~*」を試し、検索結果を確認する習慣を付けるのがおすすめです。ワイルドカードを正しく使えるようになると、手作業で1件ずつ修正していた文字列整理を短時間で終えられますよ。
