Excelで検索と置換をする作業は非常に多いかと思います。
そんな時に悩むことは、
・Excelの検索と置換で正規表現を使いたいがなにが使えるかわからない。
・Excelの検索と置換ができる種類を知りたいがまとまっている記事が少ない。
ですね。
今回はそんなお悩みを解決できる、
・Excel検索と置換のショートカット
・Excel検索と置換の応用技6選
についてまとめます!
もくじ
基本技:Excel検索と置換の基本操作
Excel検索と置換の基本操作について説明をします。
リボンメニューの[ホーム]タブ> [編集]グループの [検索と選択]をクリックします。
[検索] または [置換] から、[検索と置換] ダイアログボックスを開くことができます。基本技:Excel検索と置換のショートカット
ショートカットは必ず覚えておきましょう。
検索のショートカット
Ctrl+F を押して、 [検索] タブを表示します。
置換のショートカット
Ctrl+H を押して、 [置換] タブを表示します。
応用技その1:検索と置換オプションの検索場所で検索/置換対象範囲を広げる
「検索と置換」ダイアログボックスにある、検索と置換オプションの「検索場所」で範囲を切り替えて、
検索置換対象範囲を広げることができます。
アクティブシートを検索/置換対象とする
「検索場所」を「シート」とした場合は今見ているアクティブであるシートが検索/置換対象となります。
ブック(全シート)を検索/置換対象とする
「検索場所」を「ブック」とした場合はブックに存在する全シートが検索/置換対象となります。
応用技その2:検索と置換オプションの検索対象で形式に応じて検索/置換する
「検索と置換」ダイア口グボックスにある、検索と置換オプションの検索対象は[数式][値][コメント][メモ]の4つから選択できます。
なお、[値]はデフォルトの選択となります。
[数式]を検索/置換対象にする
[数式]は関数入力されている式が対象となります。
例えばvlookupで参照先を切り替えたい時など便利ですね。
[コメント]を検索/置換対象にする
[コメント]はセルに挿入されたコメントのメッセージが検索対象となります。
[メモ]を検索/置換対象にする
[メモ]はセルに挿入されたコメントのメッセージが検索対象となります。
応用技その3:ワイルドカードを使い検索/置換する
今回一番おすすめしたい内容となります。
デフォルトは完全一致の検索ですが、ワイルドカードを使うと任意の文字数を指定できたり検索置換の幅が広がります。
入力する文字列 | 検索対象 |
---|---|
? (疑問符) | 任意の 1 文字 たとえば、「インターフェ?ス」と入力すると “インターフェイス” や “インターフェース” が検索されます。 |
* (アスタリスク) | 任意の数の文字 たとえば、「Win*」と入力すると “Win98” や “Win2000” が検索されます。 |
~(チルダ) (~、*、または ? の前に入力) | 疑問符、アスタリスク、またはチルダの文字の前にチルダを着けることにより検索対象とすることが可能になります。 |
例えば、
とあるうちの末尾”a”だけのコードを検索したい場合は「*a」とすることで検索可能です。
”CH*a”だけのコードを検索したい場合は「CH?a」、「CH*a」とすることで検索可能です。
正規表現をExcelで使うには?
Excelの関数では正規表現は使えませんが、VBAではVBScriptのRegExpを使うことができますので、
VBAとRegExpを組み合わせることで正規表現が使用できます。
以下RegExpで正規表現を使った例となります。
・Excelで末尾の文字を置換/追加/削除する方法!VBAと正規表現で一括処理!
・Excelで先頭の文字を置換/追加する方法!VBAと正規表現で一括処理!
応用技その4:ワイルドカードの文字(~(チルダ)、* (アスタリスク)、? (疑問符))を検索、置換対象にする
通常、ワイルドカードの文字(~(チルダ)、* (アスタリスク)、? (疑問符)は値があったとしても、ワイルドカードとして受け取られ、ワイルドカードパターンの検索結果が返ります。
これを回避するために~(チルダ)を検索置換対象文字の前に入れ、エスケープすることにより検索、置換が可能になります。
サンプルデータの?部分を検索したい場言いは「~?」とすることで検索可能になります。
チルダを利用したエスケープパターン
・アスタリスクを検索:「~*」
・チルダを検索:「~~」
・疑問符を検索:「~?」
応用技その5:値ではなく書式を検索置換する
通常検索置換の対象はデータですが、Excelでは書式を指定することが可能です。
例えば以下のセルが黄色になっている在庫件数のところだけを指定して、10件の値、セルの背景をなしに置換してみたいと思います。
まず書式を選択するところから始まりますが、書式は値に比べて指定が難しいので、セル上の書式情報をスポイトツールで抽出する方が効率がよいですのでこちらを選択するようにしてください。
[検索と置換]ダイア口グボックスにある、[置換]タブ、[検索する文字列]の[書式]をクリックします。[セルからの書式設定]をクリックし、スポイトツールで置換したいセルの書式情報を抽出します。
終わったら、[置換する文字列]の[書式]を同じ手順で書式情報を抽出します。
※[置換する文字列]の[書式]を指定しない場合は値のみ変わります。
準備が完了したら[すべて置換]をクリックします。
できましたね。
応用技その6:改行コードを検索/置換する
[Alt]+[Enter]でセルにある文字列を改行した時に挿入される改行コードを対象に検索/置換する方法について説明をします。
検索/置換したい改行コード付きの文字列が挿入されているシートを選択します。
「検索と置換」ダイア口グボックスを表示させます。
「検索する文字列」の入力ボックスをクリックし、
Ctrl+A
Ctrl+J
を押します。
前の検索/置換に使われた情報が残っている場合があるためです。
「検索する文字列」の入力ボックスをよく見ると「.」が点滅していることがわかります。
その状態で「すべて検索」するか、置換をする場合は「すべて置換」をクリックします。
サンプルでは置換後の文字列を空欄としているため、改行コードが削除される「すべて置換」を実行します。
はい、改行コードが空白に置換され、削除されましたね。
さいごに
いかがでしょうか。
今回は
・Excel検索と置換のショートカット
・Excel検索と置換の応用技6選
についてまとめました。
標準でも意外と知られていない機能があったかと思います。
よく使う機能なので、ぜひ覚えてもらえばと思います。
Excelは正規表現じゃなくてワイルドカードだと思いますが。
ご指摘ありがとうございます。
確かにワイルドカードの方ですね。
申し訳ありません。
訂正し、正規表現に関しては別枠で説明を加えました。
よろしくお願いいたします。