次には、ExcelのREPLACE関数とSUBSTITUTE関数を使用して文字列を置き換える例を挙げます。
Excelでは、特定の条件に従ってセル内の文字列を自動的に置き換える場合、一番簡単な方法は、2つの文字列を置き換える関数のREPLACEとSUBSTITUTEを使用することです。両方ともセル内の文字列を置き換えることに使用できますが、ただ適用のタイミングは少し違います。次には例を挙げて、使い方を説明します。
目次
REPLACE関数
REPLACE関数は、文字列の位置と文字数に応じて特定の文字列を置き換えることができます。使い方は次のとおりです。
=REPLACE(文字列,開始位置,文字数,置換文字列)
4つの引数の意味は以下となります。
- 文字列:置き換えたい文字列です。
- 開始位置:「置換文字列」で置き換えたい文字列の先頭文字の位置を指定します。
- 文字数:「置換文字列」で置き換えたい文字列の文字数を指定します。
- 置換文字列:置き換え後の文字列を指定します。
例で説明すると分かりやすいです。仮に文字列がセルA2に格納されている「ABCDEF」であり、その中の2番目から4番目の文字(つまりBCD)を「12345」置き換えたい場合には、次のようにしてください。
=REPLACE(A2,2,3,"12345")
REPLACE関数のメリットは、文字列を置き換える時に、文字列の位置と文字数のみを参考し、どんな文字列が関係なく、その位置に新しい文字列を置き換えることです。文字列に基づいて置き換える場合にはSUBSTITUTE関数を使用します。
SUBSTITUTE関数
SUBSTITUTEは文字列を置き換える関数です。指定した文字列を新しい文字列に置き換えることができます。使い方は次のとおりです。
=SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
4つの引数の意味は以下となります。
- 文字列:置き換える文字を含む文字列、または目的の文字が入力されたセル参照を指定します。
- 検索文字列:置き換え前の文字列を指定します。検索文字列と置換文字列の大文字小文字の表記が異なる場合、文字列は置換されません。
- 置換文字列:置き換え後の文字列を指定します。
- 置換対象:文字列に含まれるどの検索文字列を置換文字列に置き換えるかを指定します。省略された場合は、文字列中のすべての検索文字列が置き換えの対照となります。
上記のREPLACE関数の例をSUBSTITUTE関数で書き直し、ABCDEFのBCDを12345に置き換えます。
=SUBSTITUTE(A2,"BCD","12345")
実例
仕事中には、さまざまな状況に応じてREPLACE関数とSUBSTITUTE関数を使い分けます。次にはいくつかのよく見られる実例を挙げます。
住所変更
仮に次のような住所データがあります。すべての「県」を「府」に訂正し、すべての「区」または「町」を「市」に訂正します。次にはREPLACEとSUBSTITUTE関数で住所を訂正する例を挙げます。
次には数式を使用し、それをすべての住所に適用して、すべての誤入力を訂正します。
Step 1
まずはSUBSTITUTE関数で「京都県」を「京都府」に訂正します。
=SUBSTITUTE(A2,"県","府")
Step 2
ただ「県」を「府」に訂正するだけで足りないです。また「区」と「町」を「市」に訂正しなければならないです。データを読んだ後、「区」と「町」は6番目の文字であることが分かれます。そのため、REPLACE関数を使用して、6番目の文字を「市」に変更すればいいです。
このステップでは、前のステップで処理したデータを使用して2回目の置換を続行します。最も直接的な方法は、データを数式で接続し、前のステップのSUBSTITUTE数式をここのREPLACE数式に直接記述することです。
=REPLACE(SUBSTITUTE(A2,"県","府"),6,1,"市")
Step 3
セルB2の右下隅に移動し、マウスが十字記号になった後、プルダウンして次のセルに数式を適用します。
Step 4
これで、すべての住所が正しい住所に訂正されます。
コメントを残す