SEARCHB関数の詳細解説(Excel)

ExcelのSEARCHB関数の使い方とSEARCH関数との違い

この記事では、Excelの「SEARCHB」関数の使い方を解説します。また、類似の関数である「SEARCH」関数との違いについても説明します。SEARCHB関数は、バイト単位で検索文字列が対象文字列の中で現れる位置を求めるための関数です。

SEARCHB関数の書式

SEARCHB関数の書式は以下の通りです。

SEARCHB(検索文字列, 対象文字列, [開始位置])

各引数について説明します。

  • 検索文字列:対象文字列内で検索したい文字列を指定します。
  • 対象文字列:検索文字列を検索する対象の文字列を指定します。
  • 開始位置(オプション):検索を開始する位置をバイト単位で指定します。省略した場合は、1バイト目から検索が始まります。

SEARCHB関数は、検索文字列が対象文字列の中で最初に見つかった位置をバイト単位で返します。ただし、この関数は大文字と小文字を区別せず、完全一致を検索します。

SEARCH関数とSEARCHB関数の違い

SEARCH関数とSEARCHB関数の違いは、検索位置を返す単位が異なることです。SEARCH関数は文字単位で検索位置を返すのに対し、SEARCHB関数はバイト単位で検索位置を返します。これは、特に日本語などのマルチバイト文字を扱う際に重要な違いとなります。

SEARCHB関数の使用例

以下に、SEARCHB関数の簡単な使用例を示します。

=SEARCHB("お", "こんにちわ、お元気ですか?")

この例では、「お」が「こんにちわ、お元気ですか?」の中で最初に現れる位置をバイト単位で求めています。結果は「16」となります。

実用的な例:メールアドレスのドメイン名を抽出する

SEARCHB関数を使用して、メールアドレスのドメイン名(@マーク以降の部分)を抽出する方法を説明します。

例えば、以下のようなメールアドレスがあるとします。

example@example.com

このメールアドレスからドメイン名(ここでは “example.com”)を抽出するには、次のようにSEARCHB関数とMIDB関数を組み合わせて使用します。

=MIDB("example@example.com", SEARCHB("@", "example@example.com") + 1, LEN("example@example.com"))

この計算式では、まずSEARCHB関数で”@”の位置をバイト単位で検索しています。そして、その位置に1を加算して、ドメイン名の開始位置を求めています。最後に、MIDB関数でドメイン名を抽出しています。

結果として、”example.com”が得られます。

まとめ

ExcelのSEARCHB関数は、検索文字列が対象文字列の中で現れる位置をバイト単位で求めるための関数です。SEARCH関数との違いは、検索位置を返す単位が異なることであり、特に日本語などのマルチバイト文字を扱う際に重要な違いとなります。

この記事で紹介したSEARCHB関数を利用すれば、日本語を含む文字列の検索や抽出にも対応できます。関数の使い方や引数の意味を理解し、日常業務などで役立ててください。