- 作成日 : 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関数を積極的に使ってみませんか?
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートのチェックボックス活用術とは?タスク管理と業務効率化の手法
Googleスプレッドシートのチェックボックス機能は、セルにチェックを入れるだけでTRUE(オン)、外すとFALSE(オフ)として扱えるため、タスクの完了状況や業務の進捗を直感的に管理できます。従来のように「完了」「未完了」と文字で入力する…
詳しくみるDSUM関数の使い方:条件に一致するデータの合計を計算する方法
DSUM関数は、データベース形式の表から指定した条件に一致するレコードの合計を計算する関数です。売上データの条件付き集計、在庫管理での特定商品の合計、経費精算での部門別集計など、複雑な条件での合計計算が必要な場面で活用されます。 例えば、特…
詳しくみるスプレッドシートでセルや行数を効率的にカウントするには?
スプレッドシートでデータを扱う際、セルや行数を正確に把握することは分析や管理の基本です。数値データの件数を数える COUNT 関数、全データを対象とする COUNTA 関数、条件付きの COUNTIF などを使い分けることで、状況に応じた効…
詳しくみるスプレッドシートで複数ファイルをまとめるには?関数・アドオン・GASを使った効率的な統合方法
Googleスプレッドシートで複数のファイルやシートを一つにまとめる作業は、データ管理において頻繁に発生する課題です。本記事では、複数のスプレッドシートファイルを効率的に統合する方法として、IMPORTRANGE関数による基本的な連携から、…
詳しくみるスプレッドシートの保護機能とは?シートや範囲を編集制限するためのガイド
Googleスプレッドシートで重要なデータや計算式を誤って削除・変更されることを防ぐには、保護機能を活用しましょう。本記事では、特定のセルやシート全体に編集制限をかける具体的な手順から、保護設定がうまくいかない場合の対処法、さらにPCとスマ…
詳しくみるエクセルを使った日報の作り方は?メリットやテンプレートの活用法も解説
日々の業務内容や成果、課題などを記録する日報は、個人の振り返りだけでなく、チーム内の情報共有や業務改善にも不可欠なツールです。その作成方法として、エクセルを活用するケースは少なくありません。 この記事では、エクセルで日報を作成するメリットか…
詳しくみる



