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!」が返ってきます。
コメント