クイックナビゲーション
REPLACE、REPLACEB 関数
概要
REPLACE関数は文字列の指定位置にある文字を別の文字列に置き換えます。REPLACEB関数はバイト単位で位置と文字数を指定するバージョンですが、現在は非推奨です。Unicode対応の高度なテキスト処理に最適です。
構文
REPLACE(文字列, 開始位置, 文字数, 置換文字列)
REPLACEB(文字列, 開始位置, バイト数, 置換文字列)
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 文字列 | String |
はい | 置き換え対象の文字列を指定します |
| 開始位置 | Number |
はい | 置き換えを開始する位置(1が文字列の先頭) |
| 文字数 | Number |
はい | REPLACE:置き換える文字数 / REPLACEB:置き換えるバイト数 |
| 置換文字列 | String |
はい | 新しい文字列で置き換えます |
REPLACE, REPLACEB関数の使用
REPLACE関数はデータ入力ミス修正やフォーマット統一、動的な文字列操作に欠かせません。電話番号の市外局番変更、日付フォーマット変換、レポートデータの整形など多様な場面で活用できます。
REPLACE, REPLACEBの一般的な例
基本的な文字置き換え
=REPLACE("abcdefghijk",6,5,"*")
6文字目以降5文字を"*"に置き換え→"abcde*k"
年号更新
=REPLACE("2009",3,2,"10")
最後の2桁を"10"に置き換え→"2010"
先頭文字削除
=REPLACE("123456",1,3,"@")
先頭3文字を"@"に置き換え→"@456"
日本語テキスト
=REPLACE("東京都渋谷区",3,3,"新宿区")
3文字目から3文字を置き換え→"東京都新宿区"
よくある質問
REPLACEは文字単位、REPLACEBはバイト単位で処理します。REPLACEBは非推奨で、通常はREPLACEを使用してください。
はい、文字列の先頭が位置1です。
文字列の最後まで置き換えられます。
一般的なエラーと解決策
#VALUE! エラー
Cause: 開始位置や文字数が数値でない
Solution: 数値で入力してください
空の結果
Cause: 開始位置が文字列長を超える
Solution: 開始位置を文字列長以内にして下さい
注記
- REPLACEBは非推奨です。今後はREPLACE関数を使用してください
- Excel 2007以降で利用可能
- 日本語を含むマルチバイト文字にはREPLACEを使用
- サロゲートペア(絵文字等)は1文字としてカウント
互換性
利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
利用不可: Excel 2003以前
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+