SEARCHB関数 文字列のバイト位置を調べる
関数名 | SEARCHB |
分類 | 文字列操作 |
説明 | 文字列のバイト位置を調べる |
バージョン | - |
カテゴリ | Excel関数一覧 |
ここでの解説は、特に説明がない限り、Excelをインストールし、初期設定のまま使用した場合の動作を基に解説しています。
書式
SEARCHB(検索文字列1, 対象2, [開始位置]3)
1 - 検索文字列 ----- 検索する文字列を指定します。
2 - 対象 ----- 検索文字列を含む文字列を指定します。
3 - [開始位置] ----- (省略可) 検索を開始する位置を指定します。対象の先頭文字から検索を開始するときは「1」を指定します。開始位置を省略すると、「1」を指定したと見なされます。
解説
セルA1に「=SEARCHB("E","Hello!Excel関数解説")」を入力します。
文字列「Hello!Excel関数」から、文字「E」が最初に現れる位置を調べます。
SEARCH関数は、大文字と小文字を区別しません。
セルA2に「=SEARCHB("数*説","Hello!Excel関数解説")」を入力します。
文字列「Hello!Excel関数」から、文字列「数(任意の文字列)説」が最初に現れる位置を調べます。
1つめの引数に指定した「"数*説"」にある「*」は1文字以上の任意の文字列を表しています。
これを「ワイルドカード」といいます。
ワイルドカードには、「?」と「*」が使用でき、「?」は任意の1文字を表します。
つまり、「"数*説"」は、「数」と「説」いう文字列の間に、1文字以上の文字列が入力されたセル、という条件になります。
これを、「"数?説"」とした場合は、「数」と「説」いう文字列の間に、任意の1文字が入力されたセル、という条件になります。
「?」や「*」を文字として検索条件に指定したい場合には、「~?」や「~*」と「~」半角のチルダを付けます。
SEARCHB関数では、全角文字の1文字が2バイトとしてカウントされます。半角文字は1バイトとしてカウントされます。
この例の場合、「Hello!Excel」は11バイト、「関数解説」は8バイトとなります。
大文字と小文字を区別する場合は、「FIND関数」または「FINDB関数」を使用してください。
注意事項
・大文字と小文字は区別されません。
・検索文字列に空白文字列("") を指定した場合、先頭文字と一致したものと見なされ、開始位置に指定した文字番号または「1」が返されます。
・検索文字列が対象の中で見つからない場合、エラー値 #VALUE! が返されます。
・開始位置に「0」以下の整数を指定した場合、エラー値 #VALUE! が返されます。
・開始位置が対象の文字数よりも大きい場合、エラー値 #VALUE! が返されます。
メモ
SEARCHB は SEARCH Byte