エクセルの関数の中でよく使われる一つ、FINDB関数(読み:ファイン・バイト、意味:英語で「find byte」は「バイト数を見つける」)をここでは取り上げて解説していきます。

FINDB関数とは何か?

FINDB関数とは「=FINDB (検索文字列, 対象, [開始位置])」という形で使うのが一般的で、FIND関数を全く同じ形です。機能としては、特定の文字列(「対象」)の中で検索したい「検索文字列」が左端から何番目に存在するのかをバイト数で表示してくれる関数になります。

FINDB関数の書式=FINDB(検索文字列, 対象, [開始位置])
対応Version365、2019、2016、2013、2010

文字とバイト数の関係については、日本語表記とアルファベット表記で異なるので、理解しておきましょう。多くのケースでは下記のように決まっています。

日本語表記
(ひらがな、カタカナ、漢字)
1文字2バイト
アルファベット1文字1バイト

FINDB関数の「検索文字列」について

「検索文字列」には、検索したい文字列を指定します。ダブルクォーテーション“”で文字列を直接指定する方法とセルを参照する方法の2つが使えるので、状況に応じて使い分けましょう。

FINDB関数の「対象」について

「対象」には「検索文字列」が含まれる文字列を指定します。「対象」の指定方法も「検索対象文字列」と同様で、ダブルクォーテーション“”で文字列を囲む方法とセルを参照する方法があります。

FINDB関数の「開始位置」について

「開始位置」は必ずしも設定する必要のない、任意項目になります。

なお、FINDB関数でも「開始位置」を指定する意味はなく、どんなに適切な値を指定したとしても、「対象」の左端からの位置を表すバイト数が表示されます。

ただし、0以下の値や、開始位置が対象のバイト数より大きい値を指定した場合には「#VALUE!」エラーが表示されます。

FINDB関数の具体的な使い方

①FINDB関数を使える状況を準備します。

ここでは住所を例にあげて、FINDB関数の使い方を見ていきます。

②FINDB関数を使いたいセルに「=FINDB (」と入力します。

③「検索文字列」を指定します。

ここでは「B3」セルを参照する形で指定しています。

④「対象」を指定します。

ここでは「C3」セルを参照する形で指定しています。

※「開始位置」を指定します。

ここでは「D3」セルを参照する形で指定しています。FINDB関数では指定する意味はないのですが…

⑤「Enter」を押し、表示された結果を確かめます。

⑥他のセルにもFINDB関数を反映させます。

コピペやオートフィルを使って、他のセルにもFINDB関数を反映させましょう。

FIND関数と同様に、「検索文字列」が「対象」に存在しない場合、「#VALUE!」エラーが表示されます。「検索文字列」と「対象」が適切かどうかを見直し、関数を修正しましょう。

FIND関数との違いは何か?

表示される結果が違う

「検索文字列」が「対象」に存在する場合、FIND関数では左端からの文字数が表示されますが、FINDB関数では左端からのバイト数が表示されます。