【Excel】文字列の末尾 (右端) から指定されたバイト数を取得する方法(RIGHTB関数)

ExcelのRIGHTB関数の使い方について具体例を交えて説明します。

書式

RIGHTB(文字列, [バイト数])

※ []内の引数は任意の項目です。

関数と変数の説明

文字列の末尾から指定されたバイト数分の文字を返します。

  • 文字列(必須項目):取り出す文字を含む文字列を指定します。
  • バイト数(任意項目):末尾から何バイト切り出すかを指定します。指定しない場合は「1」として計算されます。0を指定すると何も返ってきません(空が返る)。マイナスの値を指定すると、「#VALUE!」を返します。
日本語は1文字2バイトです。「晴れ」の場合、2文字×2バイト=4バイトとなります。その時にバイト数3を指定すると1文字と半分の文字となり、半分の文字の部分はスペース1個分が入ってきます。その結果、「 れ」が返ります(赤い部分はスペースです)。この結果は一般的に期待値ではないと思います。ですので、基本的には日本語が含まれる場合はRIGHT関数を使うと覚えておきましょう

使用例

以下が使用例になります。

ABC
1対象文字列
2Microsoft(マイクロソフト)
3
4取得したい内容出力結果計算式
51.末尾から1バイトを取得する(変数省略時))=RIGHTB(A2)
62.末尾から1バイトを取得する(変数指定あり))=RIGHTB(A2,1)
73.末尾から2バイトを取得する )=RIGHTB(A2,2)
84.末尾から3バイトを取得するト)=RIGHTB(A2,3)
95.末尾から4バイトを取得する ト)=RIGHTB(A2,4)
106.末尾から16バイトを取得する(マイクロソフト)=RIGHTB(A2,16)
117.末尾から100バイトを取得するMicrosoft(マイクロソフト)=RIGHTB(A2,100)
128.取得するバイト数が0の場合=RIGHTB(A2,0)
139.取得するバイト数がマイナスの場合#VALUE!=RIGHTB(A2,-1)

「1.末尾から1バイトを取得する(変数省略時)」のケースはバイト数を省略したときの出力結果です。バイト数が省略されたときはバイト数は1で計算されます。対象文字列が「Microsoft(マイクロソフト)」なので末尾の一文字の「)」が返ります。また、「2.末尾から1バイトを取得する(変数指定あり)」と同じ結果になります。

「3.末尾から2バイトを取得する」から「5.末尾から4バイトを取得する」までは日本語(2バイト文字)の場合に1バイトがどう扱われるか分かりやすく取得するバイト数を1バイトづつ増やしていった場合の例になります。赤い部分はスペースを表しています。

「7.末尾から100バイト文字取得する」のケースでは対象となる文字列が25バイトしかない場合に末尾からバイト数100を取得をしています。対象となる文字列のバイト数 < 取得するバイト数の場合です。その時は特に何のエラーも返さず、対象となる文字列すべてが返ってきます。

「8.取得するバイト数が0の場合」は何も返ってきません(空が返る)。

「9.取得するバイト数がマイナスの場合」のケースは誤って文字数がマイナスの値の場合です。その場合は「#VALUE!」が返ってきます。

類似関数

コメント

タイトルとURLをコピーしました