はい、REPLACE と REPLACEB は、Excel で文字列の一部を別の文字列に置き換える関数ですが、文字単位かバイト単位かで動作が異なります。
✅ REPLACE 関数(文字数単位)
📌 構文
=REPLACE(old_text, start_num, num_chars, new_text)
| 引数 | 内容 |
|---|
old_text | 元の文字列 |
start_num | 置換を開始する位置(文字数・1から) |
num_chars | 置換する文字数 |
new_text | 置換後の文字列 |
🧾 使用例
=REPLACE("Excel関数", 6, 2, "機能")
→ "Excel機能"
- 「Excel関数」の6文字目から2文字(「関数」)を「機能」に置き換えています。
✅ REPLACEB 関数(バイト数単位)
📌 構文
=REPLACEB(old_text, start_byte, num_bytes, new_text)
| 引数 | 内容 |
|---|
old_text | 元の文字列 |
start_byte | 置換を開始する位置(バイト数・1から) |
num_bytes | 置換するバイト数 |
new_text | 置換後の文字列 |
🧾 使用例(日本語環境)
=REPLACEB("Excel関数", 7, 4, "機能")
- 全角文字は2バイト、半角文字は1バイトでカウントされるため、バイト単位で指定。
🔍 違いのまとめ
| 特徴 | REPLACE | REPLACEB |
|---|
| 置換単位 | 文字数 | バイト数(全角=2バイト、半角=1バイト) |
| 主に使う環境 | 一般的な文字列操作 | 日本語やマルチバイト環境で細かい操作が必要な場合 |
| 使用例 | 文字列の一部置換 | バイト単位での文字列操作(Shift-JISなど) |
注意点
REPLACEB は日本語版 Excel の一部環境でのみ動作し、文字コード設定に依存します。- 普段は
REPLACE を使うことが多いです。
Post Views: 97