Excel

SEARCHB関数 検索文字列が最初に現れる位置をバイト数で返す


このページでは、Microsoft Excel の SEARCHB 関数の使い方について説明します。


概要

指定した検索文字列を対象の中から検索し、その文字列が何バイト数目にあるかを返します。 例えば、"Tokyo" という語で文字 "y" の位置を検索するには、次の関数を使用できます。

=SEARCH("y", "Tokyo")

"y" は "Tokyo" という語で 4 番目の文字であるため、この関数は "4" を返します。


他の単語に含まれる単語を検索することもできます。 例えば、次の関数は

=SEARCH("Tokyo", "OlympicsInTokyo")

word「Tokyo」が「OlympicsInTokyo」という単語の 11 番目の文字で始まるために、 11を返します。
上記のように半角英数字の場合は文字数を数えればよいですが、日本語を使用する場合は全角文字となるため、1文字で2バイトとなります。SEARCHBの「B」は、Byte(バイト)の省略ですので、何バイト目に文字があるのかを返します。


書式

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

引数 必須 説明
検索文字列 検索する文字列を指定します。
対象 検索の対象となる文字列を指定します。
開始位置 対象文字列の何バイト目から検索を行うか指定します。省略した場合、1が指定されたとみなされ、先頭の文字から検索が行われます。


使用例

例:住所データ内の「区」の位置を調べる

IMG_60BE102C0A66-1.jpeg

  • 先頭から数えるときは開始位置の1は省略可能です(例では省略していません)。
  • バイト数(1文字 = 2バイト)で数えているので、その結果が表示されています。


備考

  • バイト数:半角英数字1文字分に相当するデータ量の単位で、半角文字は1バイト、全角文字は2バイトとして数えられます。

  • SEARCH/FIND/FINDB関数と似ています。SEARCH関数は文字を数えているのに対して、SEARCHB関数はバイト数で数えて結果を表示させています。

  • 検索文字列にワイルドカード文字を使用することができます。

    • 「*」(半角アスタリスク):任意の文字列
    • 「?」(半角の疑問符):任意の1文字
    • 「*」や「?」をワイルドカード文字としてではなく、通常の文字として検索対象にしたい場合は、それらの前に「~」(半角のチルダ)を付けます。
  • FIND/FINDB関数ではワイルドカード文字を使用することができません。

  • SEARCH関数は大文字と小文字を区別しません。区別して検索する場合はFIND/FINDB関数を利用します。

別のテキスト文字列内の文字または文字列の場所を確認して、テキストに戻るには、 mid 関数およびMIDB関数を使用して、 SEARCH関数とSEARCHB関数を使用したり、置換とを使用REPLACEBテキストを変更する機能です。 これらの関数は、この記事の例 1で紹介されています。

1

関連したノート
Excel
MID関数

文字列の、指定した位置から指定した文字数分の部分文字列を切り出す。

Andnote公式

Excel
FIND関数

文字列の位置を取得する

Andnote公式

Excel
REPLACE関数

文字列の一部を置き換える

Andnote公式

Excel
MIDB関数

指定した位置から指定したバイト数分の部分文字列を切り出す。

Andnote公式

Excel
FINDB関数

文字列のバイト位置を調べる

Andnote公式

Excel
SEARCH関数

文字列が最初に現れる位置を調べる

Andnote公式

Excel
REPLACEB関数

指定したバイト数の文字列を置き換える

Andnote公式


一覧に戻る