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で紹介されています。

22

関連したノート
Excel
MID関数

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

Andnote公式

Excel
FIND関数

文字列の位置を取得する

Andnote公式

Excel
REPLACE関数

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

Andnote公式

Excel
MIDB関数

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

Andnote公式

Excel
FINDB関数

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

Andnote公式

Excel
SEARCH関数

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

Andnote公式

Excel
REPLACEB関数

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

Andnote公式

このライターの人気ノート
Excel
0埋め(ゼロパディング)

指定した桁数になるまで0で埋める

Andnote公式

Excel
VBAでJSON文字列をパース

VBAでJSON文字列をパース(デシリアライズ)して、その要素にアクセスする方法。

Andnote公式

Excel
ウォーターフォール図の作成

ウォーターフォール図を使って、経営判断のスピードを上げる手法

Andnote公式