エクセルで特定の文字列(一部だけ)を置換したいときの解決方法

更新:2023/09/07

ITスキル

エクセルで便利な置き換え機能ですが、シート全体ではなく「特定の範囲だけ」を置き換えたい時もありますよね。

そこで今回は、範囲を指定した置き換え方法についてご紹介。

エクセルの置換機能を使う方法と、関数を使う方法に分けて解説していきます。

エクセルの置換機能で範囲指定して置換する方法

まずはエクセルの置換機能を使う方法からご紹介します。この機能では、特定のセル範囲のみを選択して置き換えることも可能です。 つまり、エクセルのシート全体ではなく、シートの一部だけに置換の指示をかける、ということですね。

(1)置き換えしたいセルの範囲を選択します。



(2)ホーム>検索と選択>置換 と進みます。

エクセル  文字列 置き換え 

(3)置換窓が開くので、変更前のセルの文字列を「検索する文字列」に入力。
変更したい文字列を「置換後の文字列」に入力し、「全て置換する」を選択します。

エクセル  文字列 置き換え 

(4)選択したセルの中の文字列が置き換えされ、完了です。

エクセル  文字列 置き換え 

複数のリストを範囲指定して置換もできる?

複数のリストを範囲指定して、まとめて置き換えすることもできます。実際にやってみましょう。簡単なサンプルリストを用意しました。

たとえば仙台支店は、5月から仙台営業所になったとします。そこで、4月の表記はそのままに、5月以降は「仙台支店→仙台営業所」に置き換えることにします。

(1)5月以降のリストを選択します。

リストが複数ある場合には「Ctrl」キー(Macの場合はcommand)を押しながら作業すると、複数の範囲を選択することができます。

(2)先ほどと同じように、ホーム>検索と選択>置換

(3)元の文字列「仙台支店」と、置き換え後の「仙台営業所」を両方入力して「すべて置換」

※エクセルの見え方はバージョンにより多少異なります。

すると、下のように4月はそのままで、5月以降のみ営業所に置き換えが完了しました!

数字の置き換えもできる?

数字の置き換えも、基本的には同じです。例として次の販売表で見てみましょう。

5月6月のところは単価が110円と120円が混在している状態です。これを、6月からは120円で統一して値上げすることにしました。では6月の110円は全て120円に置き換えしましょう。

(1)6月の単価のみ範囲指定して、ホーム>検索と選択>置換

(2)元の数値「110」と、置き換え後の「120」を両方入力して「すべて置換」

これで、4月5月はそのままで、6月のみ120円に統一することができました。

数式の置き換えは?

置き換え機能は数式にも使えるのでしょうか。例えば上の販売表では「売上」のところに「個数×単価」という数式が入っています。これを1万円上乗せして「個数×単価+10,000」と置き換えができるかどうか、やってみましょう。

(1)分かりやすく単価を100円にしました。数式の入っている「売上」のところを範囲選択して、ホーム>検索と選択>置換

(2)元の数式をコピペし、置き換え後は「+10,000」を追加して「すべて置換」

これで再計算ができました!

今回の例では全て同じ数式が入ったシンプルな表でしたが、色々な数式が混在している場合は上手に置き換え機能を使うと便利かもしれません。

特定の範囲だけの置換を関数でやってみよう

ここまで、エクセルの置換機能を使う方法で解説してきました。ここからは関数を使う方法を2点ご紹介します。

REPLACE関数を使う方法

REPLACE関数とは、文字列の左からの位置を指定することで文字列を書き換えることのできる数式です。
「=REPLACE(元の文字列,左から数えて置き換えたい文字の開始位置,開始位置から置き換えたい文字数,置き換え文字)」で表記します。

例として下記の販売表では、5月の単価が110円・120円と混在しています。これを6月からは150円に統一することにします。

(1)6月の単価のところにREPLACE関数をすべて半角で入力します。
今回は「=REPLACE(D8,2,1,5)」となります。D8というのは、5月の単価のセルを指しています。「D8セルの文字(数値)の、左2番目から1文字だけ、5に置き換えてくださいね」という指示をしていることになります。

関数の直接入力が難しいと感じる場合、メニューの数式>関数の挿入でREPLACEを検索し選択していく方法も。順番に入力項目をナビゲートしてくれるので親切です。

(2)1行目の単価が150円に置き換わるので、あとは下にコピーして完成です。

SUBSTITUTE関数を使う方法

SUBSTITUTE関数は文字列を他の文字列に置き換えたいときに使う関数です。ここでは、「店名」の列だけを対象にして〇〇支店から〇〇営業所への置き換えをやってみます。

「=SUBSTITUTE(変えたい文字列,置き換え前の文字列,置き換え後の文字列)」という式で成り立ちます。

(1)新しい店名の列を作り、SUBSTITUTE関数を入力します。
この場合は、「=SUBSTITUTE(B8,"支店","営業所")」です。B8というのは元の店名が入っていたセルを指しています。関数を入力する際、基本的には全て半角で入力していきますが、全角文字列だけ" "を使って入力するのがポイント。

繰り返しになりますが、メニューの数式>関数の挿入でSUBSTITUTEを検索し選択していく方法なら、順番に入力項目をナビゲートしてくれます。好きな方法でやってみましょう。

(2)Enterを押すと「札幌支店」が「札幌営業所」に置き換わりますので、そのまま下にコピーして他の支店も置き換えします。一部の支店のみコピーすることももちろん可能です。最後に旧店名の方は、列ごと隠して完成です。

この場合はBの列に旧店名が入っていました。B列をすっかり隠してしまうことで、新しい店名の表が出来上がりました。

まとめ

今回は、エクセルで特定の文字列のみ置き換えたい時の解決方法をお伝えしました。エクセルには便利な「置換」という機能があり、部分的に範囲指定することも可能ですので、存分に活用しましょう。関数も1回理解してしまえば、使いたい所にだけコピペで対応できるので便利。用途に応じて使い分けてみましょう。

文:マイナビ学生の窓口編集部

関連記事

新着記事

もっと見る

HOT TOPIC話題のコンテンツ

注目キーワード

 ビジネス用語・カタカナ語80選

 キャリアロードマップの一歩目

  • ピックアップ