エクセルバージョン
マイクロソフト365
今回は文字列から検索したい文字の位置番号が取得できるSEARCH関数とSEARCHB関数について解説していきたいと思います(^O^)
それではいってみましょう!
Menu
SEARCH関数
対象の文字列の先頭から、検索文字の最初に見つかった位置番号を返します。
構文
SEARCH(検索文字列,対象,[開始位置])
引数
SEARCH | 引数 | 詳細 | 必須/省略可 |
第1引数 | 検索文字 | 検索したい文字を指定。 ・全角と半角を区別しません。 ・英字の大文字と小文字は区別しません。 ・ワイルドカード使用可。 | 必須 |
第2引数 | 対象 | 対象となる文字列を指定。 | 必須 |
第3引数 | 開始位置 | 第2引数の開始位置を指定。 ・省略は1から | 省略可 |
使用例(半角と全角の数値)
ー(ハイフン)の位置番号を取得するサンプル
➀も➁も、文字を1文字としてカウントするので、半角だろうが全角だろうがハイフンの位置番号は一緒になります。
SEARCHB関数
対象の文字列の先頭から、検索文字の最初に見つかった位置番号をバイト数で返します。
構文
SEARCHB(検索文字列,対象,[開始位置])
引数
SEARCHB | 引数 | 詳細 | 必須/省略可 |
第1引数 | 検索文字 | 検索したい文字を指定。 ・全角と半角を区別します。 ・英字の大文字と小文字は区別しません。 ・ワイルドカード使用可。 | 必須 |
第2引数 | 対象 | 対象となる文字列を指定。 | 必須 |
第3引数 | 開始位置 | 第2引数の開始位置を指定。 ・省略は1から。 | 省略可 |
特徴
・全角 → 2(2バイト) 、半角 → 1(1バイト)としてカウントします。
(全角と半角を区別します)
使用例(半角と全角の数値)
ー(ハイフン)の位置番号を取得するサンプル
※番号は一緒で、数値の半角と全角を使用した例です。
➀数字が半角なので1(1バイト)としてカウントなのでハイフンの位置番号は → 4になります。
➁数字が全角なので2(2バイト)としてカウントなのでハイフンの位置番号は → 7になります。
疑問符(?)やアスタリスク(*)の検索例
半角の~(チルダ)を文字の前に使用することで検索が可能となります。
まとめ
ワイルドカードを使用して文字の位置を検索をしたい時はこの関数を使用しましょう!
以上です。
文字を抜き出す(左と右)
【VBA】 文字の左や右から文字を抜く(Left,Right)
文字を抜き出す(指定位置から指定文字数)
【関数】指定位置から指定文字数を抜き出す(MID,MIDB)
文字の位置を取得
【関数】指定した文字の位置を文字列から検索(FIND,FINDB)
【関数】文字の位置番号を取得(SEARCH,SEARCHB)
文字数を取得
文字を置換する
【関数】指定位置から何文字や何バイト指定して置換(REPLACEとREPLACEB)
【VBA】配列の文字列を置換(先頭,末尾,全て)Replace