• 作成日 : 2025年8月5日

REPLACE関数とは?文字列置換の基本から応用、エラー対策まで解説

REPLACE関数(読み方:リプレイス関数)は、エクセルで文字列の一部を別の文字に置き換える関数です。

大量のデータを扱う中で「特定の文字だけを差し替えたい」といった場面に最適で、作業を一気に効率化できます。

この記事では、REPLACE関数の基本的な使い方から、実務で役立つ応用例、よくあるエラーとその対処法まで、初心者にもわかりやすく解説します。

REPLACE関数の使い方

REPLACE関数は、指定した文字列の特定の位置から、指定した文字数の文字列を別の文字列に置き換える関数です。

基本構文

REPLACE関数の基本構文は以下の通りです。

=REPLACE(元の文字列, 開始位置, 文字数, 置換後の文字列)

それぞれの引数は必須で、次のような意味を持ちます。

  • 元の文字列:置き換えたい文字が含まれるセル、または直接入力する文字列です。
  • 開始位置:置き換えを開始する文字の位置を数字で指定します。文字列の先頭を1と数えます。
  • 文字数:置き換えたい文字の数を数字で指定します。
  • 置換後の文字列:置き換えたい新しい文字列です。

具体例で学ぶREPLACE関数

実際に例を見てみましょう。

元の文字列関数結果
ABCDE=REPLACE(“ABCDE”,3,2,”XY”)ABXYE

この例では、「ABCDE」という文字列の3文字目(C)から2文字(CとD)を「XY」に置き換えています。結果として「ABXYE」が得られます。

REPLACE関数の利用シーン

REPLACE関数は、さまざまなデータ加工の場面で活躍します。具体的な利用シーンをいくつかご紹介します。

1. 特定の文字数を削除したい場合

文字列の中から不要な部分を削除したい場合にREPLACE関数が役立ちます。この場合、「置換後の文字列」を空欄(””)にします。

例:商品コードから枝番を削除する

商品コードが「ABC-001」「DEF-002」のように、「ハイフン以降の枝番」が不要な場合を考えます。

元の商品コード(A2に入力)関数例結果
ABC-001=REPLACE(A2,4,4,””)ABC

この例では、4文字目から4文字分(-001)を削除しています。

2. 日付や電話番号の表記を統一したい場合

データ入力の際に、日付や電話番号の形式がバラバラになっていることがあります。REPLACE関数を使って、特定の箇所の表記を統一できます。

例:日付の年号表記を西暦に統一する

和暦で入力された日付の年号部分を西暦に置き換える場合です。

元の日付(A2に入力)関数例結果
平成28年=REPLACE(A2,1,4,”2016″)2016年

3. データの一部を更新したい場合

住所録の番地を置き換えたり、商品名の一部を変更したりする際にも利用できます。

例:ファイルパスの一部を変更する

ファイルパスが変更になった際に、特定のフォルダ名を一括で変更したい場合などです。

元のファイルパス(A2に入力)関数例結果
C:UsersOldFolderfile.txt=REPLACE(A2,10,9,”NewFolder”)C:UsersNewFolderfile.txt

REPLACE関数の応用

REPLACE関数は、他の関数と組み合わせることでさらに高度な処理が可能になります。

1. 特定の文字を検索して置き換える(FIND/SEARCH関数と組み合わせる)

REPLACE関数は「開始位置」と「文字数」を直接指定する必要があるため、置き換えたい文字列の場所や長さが毎回変わる場合には不便です。そんなときにFIND関数SEARCH関数と組み合わせると、柔軟な文字列置換が可能になります。

  • FIND関数:大文字・小文字を区別して、文字列の開始位置を返します。
  • SEARCH関数:大文字・小文字を区別せず、文字列の開始位置を返します。

例:特定のキーワードを別のキーワードに置き換える

文章中の「旧サービス名」を「新サービス名」に置き換えたいが、旧サービス名の位置が文章によって異なる場合です。

元の文章(A2に入力)関数例結果
旧サービス名をご利用ください。=REPLACE(A2,FIND(“旧サービス名”,A2),LEN(“旧サービス名”),”新サービス名”)新サービス名をご利用ください。
お問い合わせは旧サービス名へ。=REPLACE(A3,FIND(“旧サービス名”,A3),LEN(“旧サービス名”),”新サービス名”)お問い合わせは新サービス名へ。

この例では、FIND関数で「旧サービス名」の開始位置を特定し、LEN関数で「旧サービス名」の文字数を取得することで、どんな位置にあっても正確に置き換えられるようにしています。

2. 文字列の挿入

REPLACE関数は文字列を置き換えるだけでなく、文字列を挿入することもできます。文字列を挿入する場合は、「文字数」を0に指定します。

例:文字列の途中に記号を挿入する

電話番号にハイフンを挿入したい場合などです。

元の文字列関数例結果
09012345678=REPLACE(A2,4,0,”-“)090-12345678

この例では、4文字目の位置に文字数0でハイフンを挿入しています。ただし、上記の方法ではハイフンが1つ足りません。

そこでREPLACE関数を入れ子構造にして、複数の文字列を同時に置換することを検討しましょう。

=REPLACE(REPLACE(A2, 4, 0, “-“), 9, 0, “-“)

REPLACE関数のよくあるエラーと対策

REPLACE関数を使用する際によく見かけるエラーと、その対策について詳しくご説明します。これらのエラーを知っておくことで、スムーズに作業を進められるでしょう。

#VALUE! エラーが発生する場合

このエラーは、REPLACE関数の引数に指定する値が正しくないときに表示されます。具体的には、「開始位置」や「文字数」に、数値ではない文字列や負の数を指定してしまったり、あるいは「開始位置」が元の文字列の長さを超えてしまったりすると発生します。対策としては、引数に指定している値が全て正しい数値であることを確認することが重要です。特に、他の関数と組み合わせて引数を指定している場合は、その関数の戻り値が期待通りの数値になっているかを一つひとつ確認するようにしましょう。

#NAME? エラーが発生する場合

REPLACE関数の関数名にスペルミスがあると、この「#NAME?」エラーが表示されます。解決策はシンプルで、REPLACEと正確に入力されているかを確認するだけです。エクセルの入力補助機能を活用することで、スペルミスを防ぎやすくなります。

意図しない結果になる場合

エラーメッセージは出ないものの、期待通りの結果が得られないというケースもよくあります。これは主に、「開始位置」や「文字数」の指定が間違っていることが原因です。また、全角と半角が混在している文字列を扱う場合、REPLACE関数は文字数で判断するため、全角文字も半角文字もどちらも1文字としてカウントします。そのため、目視で数えた文字数と実際の文字数が異なることで、意図しない置換が起こることもあります。このような場合は、指定した「開始位置」と「文字数」が正しいか、元の文字列を目で追って確認してみましょう。

もし全角と半角が混在していて文字数を正確に数えるのが難しい場合は、LEN関数FIND関数/SEARCH関数と組み合わせて利用することも検討してみてください。これらの関数を使うことで、より厳密な位置指定や文字数カウントが可能になります。

REPLACE関数で文字列置換を効率化しよう

REPLACE関数は、エクセルでの文字列操作において強力なツールです。開始位置と文字数を指定して文字列の一部を置き換えられるため、データの整形や加工、表記の統一など、さまざまな場面で活躍します。

  • 基本を理解する:まずは「元の文字列」「開始位置」「文字数」「置換後の文字列」の4つの引数の意味をしっかり理解しましょう。
  • 実践で活用する:実際に簡単なデータで試してみて、関数の動作を感覚的に掴むことが大切です。
  • 他の関数と組み合わせる:FIND関数やLEN関数などと組み合わせることで、より複雑な条件での文字列置換も可能になります。

最初は少し難しく感じるかもしれませんが、練習を重ねることでREPLACE関数を自在に操れるようになります。ぜひこの記事を参考に、あなたのエクセル作業を効率化してみてください。文字列の置換作業に時間がかかっているなら、今日からREPLACE関数を積極的に使ってみませんか?


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事