
エクセルバージョン
マイクロソフト365
今回は文字列から検索したい文字の位置番号が取得できるFIND関数とFINDB関数について解説していきたいと思います(^O^)
それではいってみましょう!
Menu
FIND関数
概要
対象の文字列の先頭から、検索文字の最初に見つかった位置番号を返します。
構文
FIND(検索文字列, 対象, [開始位置])
[ ]は省略可能という意味です。
引数
| FIND | 引数 | 詳細 | 必須/省略可 |
| 第1引数 | 検索文字 | 検索する文字を指定。 ・全角と半角を区別しません。 ・英字の大文字と小文字を区別します。 ・ワイルドカードによる検索は不可。 | 必須 |
| 第2引数 | 対象 | 対象となる文字列を指定。 | 必須 |
| 第3引数 | 開始位置 | 第2引数の開始位置を文字の先頭(1)から指定。 ・省略 → 1から | 省略可 |

使用例
ー(ハイフン)の位置番号を検索。

FIND関数の場合は全角と半角は区別せず、1文字は1としてカウントされます。
FINDB関数
概要
対象の文字列の先頭から、検索文字の最初に見つかった位置番号をバイト数で返します。
構文
FINDB(検索文字列, 対象, [開始位置])
[ ]は省略可能という意味です。
引数
| FINDB | 引数 | 詳細 | 必須/省略可 |
| 第1引数 | 検索文字 | 検索する文字を指定。 ・全角と半角を区別します。 ・英字の大文字と小文字は区別します。 ・ワイルドカードによる検索は不可。 | 必須 |
| 第2引数 | 対象 | 対象となる文字列を指定 | 必須 |
| 第3引数 | 開始位置 | 第2引数の開始位置を文字の先頭(1)から指定 ・省略 → 1から | 省略可 |

使用例
ー(ハイフン)の位置番号を検索。

FINDB関数の場合は全角と半角を区別し、1文字は1ではなく、
半角 → 1バイト
全角 → 2バイト
としてカウントされます。
まとめ
FIND関数とほぼ内容が一緒でワイルドカードが使用可で、英字の大文字と小文字を区別しない関数は下記になります。
【関数】文字の位置番号を取得(SEARCH,SEARCHB)
FIND関数を使用した実践。
Excel関数でメールの@の後ろ(ドメイン)を抜き取るFINDとMID
以上です。
【文字列操作】
文字を抜き出す(左と右)
【VBA】 文字の左や右から文字を抜く(Left,Right)
文字を抜き出す(指定位置から指定文字数)
【関数】指定位置から指定文字数を抜き出す(MID,MIDB)
文字の位置を取得
【関数】指定した文字の位置を文字列から検索(FIND,FINDB)
【関数】文字の位置番号を取得(SEARCH,SEARCHB)
文字数を取得
文字を置換する
【関数】指定位置から何文字や何バイト指定して置換(REPLACEとREPLACEB)
【VBA】配列の文字列を置換(先頭,末尾,全て)Replace
