ExcelやWordで文字を検索・置換する方法、Excelの数式で置換する方法
2018/04/26
本エントリーの目次
ExcelやWordの使い方について、勤務先でときどきこんなことを聞かれます。
ExcelやWordで文字列を違う文字列に置き換えられないの?
Excelで作成した表やWordで作成した文章の中から、特定の文字列を探して別の文字列に書き換えたいんだけど、そういうのって目視・手動でやるとミスが多そうだし、自動でできないの?といった感じで聞かれることが多いですね。
これは結論から言いますと可能です。
そこで今回は、ExcelやWordで文字を置換する方法※や、Excelの数式で置換する方法をご紹介します!
また文字列の置換と関連し、置き換えを行わずに文字列を探すだけの検索機能についても併せてご紹介しています。
※特定の文字列を別の文字列に置き換える機能のことを置換と言います。
Excelで文字列を検索・置換する方法
Excelで文字列を検索・置換したい場合、以下の方法を使用します。
Excelで文字列を検索する方法
まずはExcelで文字列を検索する方法からご紹介しましょう。
たとえば以下のような掃除の場所・内容・担当者などの一覧表があったとします。
この中から次郎という文字列を探したい場合、Excelの検索機能を使えば簡単に見つけることができます。
Excelの検索機能は適当なセルをひとつだけ選択した状態※で、キーボードの『Ctrl』キーを押しながら『F』キーを押すことで使用できるので、試しに押してみてください。
※適当なセルをひとつだけ選択した状態とするのは、検索機能の動作に関わる需要なポイントなので、必ず押さえてください。
以下のような検索と置換ウィンドウの『検索』タブが表示されるので、『検索する文字列』に次郎と入力して『次を検索』ボタンをクリックすると、F3セルにアクティブセル(選択されている入力可能なセルのこと)が移動し、次郎という文字列が検索されます。
そのまま『次を検索』ボタンを繰り返しクリックしていくと、F9→F11→F12とアクティブセルが遷移し、順次次郎という文字列が検索されていく仕組みです。
そして最後の次郎(F12セル)の検索を終えて、再度『次を検索』ボタンをクリックすると先頭のF3セルの次郎が再度検索されます。
また『すべて検索』ボタンをクリックすると以下のように、すべての検索結果を一覧表示してくれます。
そして一覧表示の各レコード(行)をクリックすれば、アクティブセルを移動して場所を教えてくれるので、すぐにそのセルの内容を変更可能となります。
検索と置換ウィンドウの『検索』タブで『オプション(T) >>』というボタンをクリックすれば、以下のように検索の細かい条件指定が可能です。
たとえば検索場所を『シート』から『ブック』に変更することで、現在作業中のシートだけではなく、複数のシート(開いているブック内のすべてのシート)を横断して検索可能です。
Excelで文字列を置換する方法
Excelで文字列を置換したい場合は、Excelで文字列を検索する方法でご紹介した検索と置換ウィンドウで、『置換』タブに切り替えます。
また『検索』タブは『Ctrl』+『F』キーのショートカットキーで表示可能でしたが、同様に『置換』タブもショートカットキーでの起動が可能であり、『Ctrl』キーを押しながら『H』キーを押下して起動してください。
そしてこれも検索同様、適当なセルをひとつだけ選択した状態で、検索と置換ウィンドウを起動するのが重要なポイントです。
こうして検索と置換ウィンドウの『置換』タブを表示すると、以下のようなウィンドウが表示されます。(オプション表示ありの状態の例)
ウィンドウの内容を見てもらえれば分かるとおり、『置換』タブの内容は『検索』タブの内容に文字列の置き換え機能を追加したものです。
そのため『次を検索』や『すべて検索』ボタンをクリックすれば、先に紹介した『検索』タブの同ボタンと同じ機能が動作します。
つまり『置換』タブでは検索機能を使いながら、文字列の置き換えができる、というわけ。
今回は次郎という人が急きょ掃除に参加できなくなり、代わりに四郎を割り当てると想定。
掃除の場所一覧表の担当者を次郎から四郎に置換します。
この例では『検索する文字列』に次郎、『置換後の文字列』に四郎と入力。
『置換』ボタンをクリックすると、1件ずつ次郎を四郎に置換。
そして置換が終わると次の次郎を探してくれます。
したがって次郎がいなくなるまで『置換』ボタンを繰り返しクリックすることで、次郎から四郎への置換が完了します。
すべての置換が完了すると、検索条件に一致するデータが見つからなくなるため、以下のようなメッセージで通知されます。
この例では四郎と入力されたセルが4件しかないので、『置換』ボタンを繰り返しクリックするのは大した手間ではありません。
ですがこれが1,000件とかになってくると、ボタンをクリックし続けるのはとっても大変。
こういったときは『すべて置換』ボタンをクリックしてください。
この操作により検索条件に一致するすべてのデータを一括で置換してくれます。
一括置換が完了すると置換件数を表示してくれるので、置換件数が想定と異なる場合は、『検索する文字列』に与えた条件文字列を確認すると良いでしょう。
置換件数が想定よりも少ない場合、『検索する文字列』に与えた条件文字列の指定に誤りがあり、想定通りの検索・置換操作が行われていない可能性があります。
またもちろんこの逆も起こり得ます。(検索条件の誤りにより、想定よりも多くのデータが置換される。)
Excelの範囲限定検索・範囲限定置換について
Excelの検索や置換機能の説明の際、適当なセルをひとつだけ選択した状態で、検索と置換ウィンドウを起動するのが重要なポイントと書きました。
これはなぜかというと、複数のセルを範囲選択した状態で検索と置換ウィンドウを起動。
検索や置換を実行するとシート全体を対象とせず範囲限定検索や置換が行われ、検索モレや置換モレが起き、トラブルの原因となることがあるからです。
ただし、意図的に範囲を限定して検索や置換を行いたい場合には有効な手法なので、併せて覚えておくと良いでしょう。
特定範囲に限定して検索や置換をしたい場合は、あらかじめ対象となるセル範囲を選択してから検索と置換ウィンドウで検索、置換を実行してください。
Excelのワイルドカードを使った検索・置換について
検索・置換に関連し、ワイルドカードを使った検索・置換についてもご紹介しておきましょう。
ワイルドカードとは、どんな対象文字や文字列にもマッチ(該当・一致)するもののことで、ExcelやWordでは*や?という文字が該当し、それぞれ以下のような意味を持ちます。
- *(半角のアスタリスク):任意の0文字以上の文字列
- ?(半角のクエスチョンマーク):任意の1文字の文字列
たとえば以下のように、第1回、第2回、第3回…第10回とセルに文字列が入力されていた場合、ワイルドカード検索を使用すると高度な検索が可能です。
ワイルドカード文字列を併用し、『検索する文字列』に第?回と入力した場合、検索条件に一致するのは第1回~第9回で、第10回は検索されません。
対して『検索する文字列』に第*回と入力すると、第1回~第10回が検索条件に一致します。
またワイルドカード文字列は検索条件の中で複数回の使用が可能です。
仮に以下のような価格表があったとして、5万円台の商品を探したい場合、『検索する文字列』に5?,???円と入力すれば、59,000円と55,000円のデータを検索できます。
そしてワイルドカードは置換にも使用できるので、使いこなすことができればかなり便利な機能となるのです。
ワイルドカード文字列自体を検索する方法
*や?は特殊な意味を持つワイルドカード文字列であるため、これ自体を検索する場合は検索文字の前に~(半角のチルダ)を入れて検索を行います。
?文字を検索したい場合は『検索する文字列』に~?を、*文字を検索したい場合は『検索する文字列』に~*を。
そして~文字を検索したい場合は『検索する文字列』に~~を入力して検索を行ってください。
Excelの数式を使った置換について
Excelの数式を使ってセル内の文字列を置換し、その文字列を取得することも可能です。
たとえば先の掃除当番表の例で、担当者の名前の郎を郎丸に置換したい場合、SUBSTITUTE関数を使用します。
以下の例では、F列のセルに含まれる郎という文字を、SUBSTITUTE関数を使って郎丸に置換した結果をG列に取得しています。
G3セルには以下の計算式を代入し、G3:G13の範囲にオートフィルを適用することで、上記のような結果を取得可能です。
1 | =SUBSTITUTE(F3,"郎","郎丸") |
ちなみにSUBSTITUTE関数には第4引数として、置換対象を指定できます。
これは検索結果に該当した何番目の文字を置換対象とするかを指定するもので、たとえば四郎郎郎郎という文字列を指定無しで置換した場合、四郎丸郎丸郎丸郎丸という結果文字列を取得します。
1 | 四郎丸郎丸郎丸郎丸=SUBSTITUTE("四郎郎郎郎","郎","郎丸") |
ところが第4引数に2を指定して置換を行った場合、四郎郎丸郎郎という結果文字列を取得するのです。
1 | 四郎郎丸郎郎=SUBSTITUTE("四郎郎郎郎","郎","郎丸",2) |
またREPLACEを使って置換を行うこともできます。
ただExcelのREPLACE関数は一般的に想像される検索機能と少し異なる挙動をするため、使う機会は少ないかもしれません。
REPLACE関数は文字列に含まれる特定の始点文字数から、指定された文字数の文字を別の文字に置き換えるものです。
下記例では四郎郎郎郎という文字列を1文字目から3文字目まで、あという文字列で置き換えています。
1 | あ郎郎=REPLACE("四郎郎郎郎",1,3,"あ") |
関数の動作仕様上固定長のデータなどではかなり役に立つのですが、一般的に想像される検索機能とは少し動きが異なる。
というのは、この例でよく分かると思います。
Wordで文字列を検索・置換する方法
WordでもExcelと同じように、『Ctrl』+『H』ショートカットキーを使って検索と置換ウィンドウを起動できます。
こうして起動した検索と置換ウィンドウの『置換』タブの『置換』ボタンや、『すべて置換』ボタンを使用すれば、簡単に置換操作が可能です。
以下例では太郎という文字列を四郎にすべて置換し、5個の太郎の置換が完了しています。
検索についても、検索と置換ウィンドウの『検索』タブで同じように検索できます。
ですがWordの場合、初期設定では『Ctrl』+『H』ショートカットキーを使って検索と置換ウィンドウの『置換』タブを起動。
その後『検索』タブに切り替えて検索は可能ですが、Excelでは使用できた『Ctrl』+『F』ショートカットキーによる検索と置換ウィンドウの『検索』タブの直接起動はできません。
※Word2010以降はこの動作仕様となっています。
その代わりに『Ctrl』+『F』ショートカットキーを使用すると、ナビゲーション検索機能(簡易検索機能のようなもの)が表示され、この機能で検索が可能です。
ナビゲーション検索で四郎という文字列を検索した場合は、以下のように分かりやすく強調表示してくれるので、簡易的に検索する分にはかなり便利でしょう。
しかし検索と置換ウィンドウの『検索』タブで実行可能な高度な検索機能(『オプション(M) >>』ボタン押下で使用できる機能)は利用できません。
したがって高度な検索機能を使いたい場合は、ナビゲーション検索ではなく検索と置換ウィンドウの『検索』タブを使ってください。
検索と置換ウィンドウの『検索』タブの起動(高度な検索)をショートカットキーに割り当てる方法
高度な検索機能を頻繁に使う場合には、検索と置換ウィンドウの『検索』タブの起動(高度な検索)をショートカットキーに割り当てて利用すると、より効率的に作業できます。
ナビゲーション検索を使わないのであれば、『Ctrl』+『F』ショートカットキーにこれを割り当てても良いでしょう。
ですがナビゲーション検索も便利な機能ではあるので、はるるは『Ctrl』+『Shift』+『F』ショートカットキーに割り当てています。
これはWordの開発元であるMicrosoftさんが開発しているメーラー、Outlookの高度な検索が『Ctrl』+『Shift』+『F』ショートカットキーに割り当たっており、使い慣れているからです。
高度な検索のショートカットキー割り当て操作は、以下の手順で行います。
- Wordの画面上部のリボン領域のボタンがない余白スペースで、右クリック。
- 『リボンのユーザー設定』をクリック。
- 表示されたウィンドウの下部にあるショートカットキー:というラベルの右にある『ユーザー設定』ボタンをクリック。
- 『キーボードのユーザー設定』画面で、コマンドの指定内 → 分類『[ホーム]タブ』をクリック。
- コマンドの指定内 → 『EditFind』をクリック。
- 『割り当てるキーを押してください』をクリック。
- キーボードの『Ctrl』+『Shift』+『F』を押下し、Ctrl+Shift+Fと表示されたら『割り当て』ボタンをクリック。
- 『閉じる』ボタンをクリック。
- 『OK』ボタンをクリック。
これで『Ctrl』+『Shift』+『F』ショートカットキーを押下すれば、検索と置換ウィンドウの『検索』タブの起動(高度な検索)を実行できます。
ちなみに上記5の手順で『NavPaneSearch』をクリックすれば、ナビゲーション検索のショートカットキーを変更可能です。
ExcelやWordの検索・置換機能はとっても便利!
今回ご紹介したExcelやWordの検索・置換機能はとっても便利です。
これらを活用すればPC作業の効率が大幅に上がるので、これまで使っていなかったよ!
という方は、ぜひ積極的に使ってみてくださーい!