FIND関数の使い方|検索文字の文字列内の位置を返す
ここでは、FIND関数の基本的な使い方、数式の作り方を解説します。
FIND関数とはどのような関数か、その動き数式の作り方、SEARCH関数との違い、FIND関数の様々な活用場面と利用時の注意点の説明です。
1.FIND関数とは?動きを確認
始めに、FIND関数とはどのような関数か、どんな動きをするかを見てみましょう。
1-1.FIND関数とは
FIND関数とは「文字列が他の文字列内で最初に現れる位置を検索」できる関数です。
言い換えると「検索したい文字が文字列の何番目にあるかを返してくれる関数」ということです。
FIND関数は単体で使うことがほとんどなく、文字列から文字を抜き出したい時、他の関数を使う時に「文字列を含むか?」の条件にしたい\時などに使われます。
1-2.FIND関数の動き
では実際に、FIND関数を使った例で、動きを見てみましょう。
上の例は「ウィンドウズ10」という文字列から、「ド」の位置をFIND関数で検索したものです。結果、「ド」の位置は「4」と返ってきました。
このようにFIND関数を使えば、調べたい文字の位置が分かるようになるのです。
2.FIND関数の形と数式の作り方
次に、FIND関数の形とFIND関数を利用した数式の作り方を見てみましょう。
2-1.FIND関数の形
FIND関数の構文(形)は、次の通りです。
このように、「検索文字列」、「対象」、「開始位置」という3つの引数を指定する必要があります。
2-1-1.検索文字列の入れ方
「検索文字列」には、検索したい文字列を指定します。
「文字列」、「セル番号」のどちらかで指定します。
(1)文字列の場合
文字列を入れる場合には、「『"』で囲みます」。
例えば、「ド」という文字列の位置を「ウィンドウズ10」という文字列の中から「ド」の位置を確認したい時、数式は次のようになります。
=FIND("ド","ウィンドウズ10")
(2)セル番号の場合
セル番号を入れる場合には、「そのまま入れます」。
例えば、「ウィンドウズ10」という文字列の中からA1に入った値の位置を知りたい時、数式は次のようになります。
=FIND(A1,"ウィンドウズ10")
2-1-2.対象の入れ方
対象へは、「検索元の文字列」を指定します。
「文字列」、「セル番号」のどちらかで指定します。
なお、指定の仕方は検索文字列と同じです。
2-1-3.開始位置の入れ方
開始位置へは、「検索を開始したい位置」を指定します。
「数値」で指定しますが、入れないと頭から検索してくれるので、指定しないことが多いです。
なお、入れる場合には「数値をそのまま入れます」。
例えば、「ウィンドウズ10」という文字列から「ド」の位置を、「ン」の位置から検索したい場合、数式は次のようになります。
=FIND("ド","ウィンドウズ10",3)
2-2.FIND関数を使った数式の作り方
では、実際にROUND関数を使った数式を作ってみます。
(1)セル選択後、数式バーに「=FIND(」と入力し「fx」ボタンを押す
(2)各引数に入力する
これで、FIND関数を使って文字位置の検索ができます。
3.SEARCH関数との違い
同じく文字列の位置を検索できる関数に「SEARCH関数」というものがあります。
ここでは、FIND関数とSEARCH関数の違いを見てみましょう。
2つの関数は基本的に同じ動きをしますが、次の点で違いがあります。
関数名 | 大文字と小文字の区別 | ワイルドカード |
FIND関数 |
する | 使えない |
SEARCH関数 | しない | 使える |
まず「大文字と小文字の区別」とは、例えば「A」と「a」を同じ文字と判定するか?ということです。
また「ワールドカード」とは特殊記号「*」や「?」のことで、これらの記号は「この文字を含む」というような「含む」条件での検索の際に使います。
つまり、大文字と小文字を区別したいときにはFIND関数、ワイルドカードを利用したいときにはSEARCH関数、どちらも気にしない時にはどちらでもいいということです。
4.FIND関数の様々な活用場面
使い方が分かったFIND関数ですが、よく思われるのが「文字列の位置を検索してなにになるの?」ということです。
確かに文字列の位置が分かっても、それだけでは活用できる場面は限定的です。
しかし他の関数と組み合わせるととても便利で、例えば次のようなことができるようになります。
4-1.IF関数で簡単に複数のOR条件が指定できる
FIND関数をIF関数と組み合わせれば、複数のOR条件を簡単に指定する子音ができます。
例えば、「セルA1の値が月・火・水・木・金の内どれかであれば~」というような条件が指定できるということで、AND関数を使った方法よりも数式が簡単に書けます。
詳しい解説はこちら
→ IF関数の論理式で「セルがいづれかの値の場合に真」と判定させる方法
4-2.文字列から任意の文字を抽出できる
FIND関数とLEFT関数と組み合わせれば、「文字列から任意の文字を抽出する」ことができます。
例えば、住所録から都道府県名を取り出すなどです。
4-3.いろいろな活用方法の手順
このように便利なFIND関数ですが、紹介した活用方法の詳しい解説は長くなるので別のページで行います。
今準備していますので少々お待ちください。
5.FIND関数利用時の注意点
最後に、FIND関数利用時の注意点についてです。
5-1.同じ文字が2つ以上あった場合は一番左の位置を返す
FIND関数は左から順に検索する関数なので、左から見て一番始めにあった位置を返してきます。
例えば「ウィンドウズ10」という文字列のうち「ウ」の位置を検索した場合、「ウ」は1番目と5番目にありますが、FIND関数は「1」を返します。
このように、検索文字列が対象に複数あっても基本的に一番左の位置を返す、ということを覚えておきましょう。
なお、引数「開始位置」を指定することで2番目以降の位置を検索することも可能です。
先ほどの例で引数「開始位置」を2にすると、FIND関数は「5」を返してきました。
これは検索を開始する位置を2番目からにしたためで、これにより5番目にある「ウ」がヒットし結果「5」となったのです。
かといって、開始位置を文字列に応じて手で修正していたのでは関数を使った意味がありません。
そんな時のためにFIND関数を使った応用テクニックがあるのですが、長くなるので別のページで説明します。
以上参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
FIND関数に関連したページは、次の通りです。。
- FIND関数 使いこなすためのポイントはこちら