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

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

書式

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

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

関数と変数の説明

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

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

使用例

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

A B C
1 対象文字列
2 Microsoft(マイクロソフト)
3
4 取得したい内容 出力結果 計算式
5 1.末尾から1バイトを取得する(変数省略時) ) =RIGHTB(A2)
6 2.末尾から1バイトを取得する(変数指定あり) ) =RIGHTB(A2,1)
7 3.末尾から2バイトを取得する  ) =RIGHTB(A2,2)
8 4.末尾から3バイトを取得する ト) =RIGHTB(A2,3)
9 5.末尾から4バイトを取得する  ト) =RIGHTB(A2,4)
10 6.末尾から16バイトを取得する (マイクロソフト) =RIGHTB(A2,16)
11 7.末尾から100バイトを取得する Microsoft(マイクロソフト) =RIGHTB(A2,100)
12 8.取得するバイト数が0の場合 =RIGHTB(A2,0)
13 9.取得するバイト数がマイナスの場合 #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をコピーしました