エクセルの関数の中でよく使われる一つ、SEARCHB関数(読み:サーチ・バイト、意味:英語で「Search Byte」は「バイト数を見つける」)をここでは取り上げて解説していきます。よく似た関数にSEARCH関数があるので、違いについても触れていきます。
目次
SEARCHB関数=SEARCH関数?
SEARCHB関数とは「=SEARCHB (検索文字列, 対象, [開始位置])」という形で使うのが一般的で、SEARCH関数を全く同じ形です。機能としては、特定の文字列(「対象」)の中で検索したい「検索文字列」が存在する位置を左端からのバイト数で表示してくれる関数になります。
SEARCHB関数の書式 | =SEARCH(検索文字列,対象,[開始位置]) |
対応Version | 365,2019,2016,2013,2010 |
※文字とバイト数について
文字とバイト数の関係については、日本語表記とアルファベット表記で異なるので、理解しておきましょう。多くのケースでは下記のように決まっています。
日本語表記・全角 (ひらがな、カタカナ、漢字) | 1文字2バイト |
アルファベット | 1文字1バイト |
余談ですが、特定の文字列のバイト数を数えたい場合は「LENB関数」、文字数を数えたい場合は「LEN関数」が便利です。
SEARCHB関数の「検索文字列」について
「検索文字列」には、検索したい文字列を指定します。文字列を指定するには、ダブルクォーテーション“”で文字列を囲むか、セルを参照するかの2通りがあります。使いたい状況に合わせて選択してください。
SEARCHB関数の「対象」について
「対象」には「検索文字列」が含まれる文字列を指定します。「対象」の指定方法も「検索対象文字列」と同じく、ダブルクォーテーション“”で文字列を囲むか、セルを参照するかの2通りがあります。なお、「対象」に「検索文字列」が含まれない場合には、「#VALUE!」エラーが表示されます。
SEARCHB関数の「開始位置」について
「開始位置」は任意項目になります。一応数値を指定することができますのですが、SEARCHB関数では「開始位置」を指定する意味はなく、どんな値を指定したとしても、「対象」の左端からの位置を表すバイト数が表示されます。
SEARCHB関数の具体的な使い方
①SEARCHB関数を使える状況を準備します。
ここでは住所を例にあげて、SEARCHB関数の使い方を見ていきます。
②SEARCHB関数を使いたいセルに「=SEARCHB (」と入力します。
③「検索文字列」を指定します。
ここでは「B3」セルを参照する形で指定しています。
④「対象」を指定します。
ここでは「C3」セルを参照する形で指定しています。
※必要に応じて「開始位置」を指定します。
ここでは「D3」セルを参照する形で指定しています。指定する意味はないので、省略することを強くオススメします。
⑤「Enter」を押し、表示された結果を確かめます。
⑥他のセルにもSEARCHB関数を反映させます。
他のセルにもSEARCHB関数を反映させたい場合には、コピペやオートフィルを使いましょう。
SEARCH関数との違いは何か?
表示される結果が違う
「検索文字列」が「対象」に存在する場合、SEARCH関数では左端からの文字数が表示されますが、SEARCHB関数では左端からのバイト数が表示されます。
SEARCH関数 | 文字数 |
SEARCHB関数 | バイト数 |
アルファベットの場合は「SEARCH関数=SEARCHB関数」ですが、日本語表記(全角)の場合は「SEARCH関数≠SEARCHB関数」です。2つの関数の使い分けには注意してください。