エクセルで特定のセルの文字列を置換して別の文字に変える方法

エクセルで資料を作っていると、特定の文字を別の文字に置き換えたい事があります。

エクセルファイル内の文字を置換したいケース
  • 文章のおわりを「~です。」から「~である。」に変えたい場合
  • 関数内のセル位置を一括で別のセル位置に変えたい場合

こんな時、置き換え箇所が2,3個と少なければすぐに書き換えられますが、ファイルに無いに大量に該当箇所がある場合には1つ1つ変えていくのはとても手間で、置換漏れも発生する可能性があります。

そこで今回は、このような時に使える文字の一括置換の方法を2つご紹介します。

ショートカットキーによる文字の置換

Excelに限らずWordやPower PointやWindowsやテキストエディタでもほぼ共通していますが、文字を置換するためのショートカットキーが用意されています。

ショートカットキーによる文字の置換方法

まずエクセルを開き、Ctrlボタンを押しながらFボタン(Ctrl+F)を押すと、次のような「検索と置換」ダイアログが表示されます。

検索と置換ダイアログの検索タブ

置換のタブをクリックすると、「検索する文字列」と「置換後の文字列」の2つが表示されるようになります。

検索と置換ダイアログの置換タブ
Ctrl+H でもこのダイアログが表示されます

この2つの項目に入れた後に「すべて置換」「置換」を押すと、「検索する文字列」の値が「置換後の文字列」の値に変換されます。

すべて置換と置換の違い

「すべて置換」をクリックの場合、表示中のシート内またはシート全体に対して置換処理が行われる。

「置換」をクリックした場合、最初に見つかった「検索する文字列」に対して置換処理が行われる。

置換時のオプションについて

検索と置換ダイアログのオプション

検索と置換ダイアログには「オプション」というボタンがあり、ここで置換時のオプションを設定できます。デフォルトは上記の通りで、表示中のシートに対して置換処理が行われます。

このオプション情報から分かるのは、デフォルトだと次のようになっていると言う事です。

  • 検索対象は表示中のシートのみ
  • 大文字と小文字は区別せずに置換する
  • セル内の文字列の一部に「検索する文字列」が存在すれば置換する
  • 全角と半角は区別せずに置換する

例えば、検索する文字列に「アイウエオ」と入れると、シート内の「アイウエオ」「アイウエオ」の両方が対象となって置換されます。

置換の例

よって、次のような場合はオプションを変更すると良いでしょう。

オプションを変更したほうがよい場合
  • ファイル内のシート全てに対して置換処理を行いたい場合は、検索場所を「ブック」にする。
  • 大文字と小文字を区別して置換処理を行いたい場合は、「大文字と小文字を区別する」にチェックを入れる
  • 「検索する文字列」に設定した値とまんま同じ文字列がセルに設定されている場合のみ置換したい場合は、「セルの内容が完全に同一であるものを置換する」にチェックを入れる
  • 半角と全角を区別して置換処理を行いたい場合は、「半角と全角を区別する」にチェックを入れる

「すべて置換」と「置換」の使い分けについて

「検索と置換」ダイアログを使って置換する際に、「すべて置換」ボタンをクリックして行うのか、「置換」ボタンをクリックして行うのか、どちらが良いでしょうか。

使い分けとしては、次のようにすると良いかと思います。

「すべて置換」と「置換」の使い分け
  1. まとめて置換したいのであれば「すべて置換」ボタンで一括変換
  2. 該当箇所を確認しながら置換したいのであれば「次を検索」&「置換」ボタンで1つずつ変換

「置換」ボタンの使いどころとしては、例えば次のように文章の途中に変換対象の文字列が含まれる場合は変換したくないと言う事を行いたい場合に有効です。

置換ボタンを使った場合の例

この例で、「かき」を「柿」に置換しようとした際に「すべて置換」を行ってしまうと、次のように置換したくない箇所も置換されてしまいます。

すべて置換で変換後の想定外の置換結果

このような場合、「次を検索」&「置換」の組み合わせを使って1つ1つ確認しながら置換をしていきます。

まず、ダイアログを開いて「次の検索」ボタンをクリックします。

「検索と置換」で次を検索ボタンをクリック

すると、「検索する文字列」に設定した文字列が含まれるセルにカーソルが移動します。ここではB2セルにカーソルが移動しました。

該当箇所に移動後

B2セルは置換したくないので、再度「次を検索」ボタンをクリックします。すると、B3セルに移動します。

該当箇所に移動後

B3セルは「かきが好きです。」と言う文章で、柿に置換したい部分であるため、この状態で「置換」ボタンをクリックします。

「検索と置換」で置換ボタンをクリック

すると、カーソルがあるセルに対して置換処理が行われます。カーソルは次の該当セルに移動します。

置換後

複数個所がある場合はこれらの処理を続けていけば、すべてチェックしながら置換処理を行う事ができます。

SUBSTITUTE関数による文字の置換

エクセル関数を利用する方法だと、SUBSTITUTE関数を使う方法があります。

SUBSTITUTE関数は文字列の置換を行うための関数です。

例えば次の例で、C2列の文字の中の「かき」を「柿」に変換したいような場合、

=SUBSTITUTE(C2, "かき", "柿")

第1引数:置換対象の文字列(ここではC2セル)
第2引数:置換対象の文字列(ここでは"かき")
第3引数:置換後の文字列(ここでは"柿")

という書き方をすると、C2列の対象文字列が置換されてD2列に表示されます。

この方法だと、元の文字は保持したまま、別の文字に変換することが出来ます。

まとめ

エクセルファイル内の文字列の置換方法をご紹介しました。

Ctrl + Fで対象文字を探してから置換する方法はかなり使えますので、是非参考にしてください。

また、この記事に書いたようなちょっとした困ったことでも、自分に経験や知識が足りないために対応できなかったり、時間をかけたわりに全然進まなかったりと、思うようにいかない事ってありますよね。そんなときは専門家に相談したり解決してもらったりする方法もありますので、一人で悩まず対処してみましょう。

Twitterでフォローしよう