スプレッドシートのREPLACEB関数とは
REPLACEB関数は、Googleスプレッドシートで文字列の一部をバイト数を基準として別のテキストに置き換える関数です。この関数は、マルチバイト文字(日本語、中国語など)とシングルバイト文字(英語など)を区別して処理する特徴があります。
REPLACEB関数の基本構文は「REPLACEB(テキスト, 位置, バイト数, 新規テキスト)」となっており、4つのパラメータを指定する必要があります。このうち「テキスト」は置き換え対象の文字列、「位置」は置き換えを開始するバイト位置(1から開始)、「バイト数」は置き換えるバイトの数、「新規テキスト」は挿入される新しい文字列を意味しています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
REPLACEB関数の基本的な構文構造
REPLACEB関数の第1パラメータ「テキスト」には、置き換え処理を行う元の文字列を指定します。このパラメータには、セル参照や直接入力した文字列のどちらでも使用できます。
=REPLACEB(A1, 2, 3, "新しい文字")
第2パラメータ「位置」は置き換えを開始するバイト位置を1から開始する数値で指定し、第3パラメータ「バイト数」は削除する文字のバイト数を指定します。第4パラメータ「新規テキスト」には、削除された部分に挿入される新しい文字列を指定しています。
REPLACEB関数は戻り値としてテキスト型のデータを返すため、数値として使用したい場合はVALUE関数と組み合わせて使用します。また、シングルバイト文字のみで構成された文字列の場合、REPLACE関数と同じ結果を返すという特徴があります。
マルチバイト文字における動作の違い
REPLACEB関数とREPLACE関数の最も大きな違いは、マルチバイト文字の処理方法にあります。日本語のひらがなや漢字などのマルチバイト文字は、通常3バイトで構成されているため、REPLACEB関数では文字数ではなくバイト数で処理されています。
=REPLACEB("熊本=熊本", 2, 3, "新")
上記の例では、「熊本=熊本」という文字列の2バイト目から3バイト分を「新」に置き換える処理を行います。この場合、最初の「熊」文字の一部(2バイト目から3バイト分)が置き換えられ、結果として「熊新熊本」という文字列が生成されています。
一方、REPLACE関数では文字数を基準として処理するため、同じパラメータでも「熊新本」という異なる結果になります。このため、マルチバイト文字を含む文字列でバイト単位での精密な制御が必要な場合、REPLACEB関数の使用が適切です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介