[Excel] 指定文字が文字列中の何番目にあるか調べる方法 (FIND関数)

FIND関数という関数があります。この関数は指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。

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

でも、この説明だけでは利用方法があまり思いつかないかもしれません。

そこでこのような例は如何でしょうか?

メールアドレスをアカウント部分とドメイン部分に分けてみましょう。@(アットマーク)の前がアカウント部分、後ろがドメイン名です。

Excel20160505_01

B2セルには =LEFT(A2, FIND(“@”, A2) – 1)
C2セルには =RIGHT(A2, LEN(A2) – FIND(“@”, A2))

という関数が入っています。

FIND(”@”, A2)というのは@が何番目にあるかを返すので7番目という数値が返されます。
つまりB2セルの LEFT(A2, FIND(“@”, A2) – 1) はA2の左から6(7-1)番目までを抜き取るという関数になります。

C2セルの LEN(A2) – FIND(“@”, A2) は全体の文字数から@までの文字数を引くことで右からの位置を計算しています。つまり RIGHT(A2, LEN(A2) – FIND(“@”, A2)) A2の右から7(14-7)番目までを抜き取るという関数になります。

恐らくFIND関数は単独で使用する事はあまりないと思います。文字列操作の関数と一緒に利用する事が多いと思いますので一つの例として思えておいても損はないでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です