FIND関数で複数のOR条件を指定し検索、文字列を抽出する
ここでは、FIND関数で「複数のOR条件を指定し検索する方法」を解説します。
「複数のOR条件を指定する」とはどのようなことか確認した後、数式の形と注意点を説明します。
また、応用として「OR条件で文字列を抜き出す数式」も紹介します。
1.複数の文字をOR条件にするとは?
始めに「FIND関数で複数の文字をOR条件にする」とはどのようなことか、から確認しましょう。
「FIND関数で複数の文字をOR条件にする」とは、「指定した文字、AかBかCか…の条件で検索して、一番最初にヒットした文字の位置を得る」ということです。
一つ例を見てみます。
上の表は住所のリストです。
これらの住所の中から「都」、「道」、「府」、「県」のいづれかの文字の位置を知りたいといった時、FIND関数の「複数文字をOR条件での検索」で分かるようになります。
いづれかの文字の位置を知ることは、それだけではあまり活用の場がないかもしれません。
しかし位置を知ることができれば、他の関数との組み合わせで例えば「都道府県名」を抜き出すことができるようになります。
そのような場面は一般的に多いので、これができるようになるととても便利なのです。
2.複数の文字をOR条件にする方法
では次に、複数の文字をOR条件に指定する方法です。
2-1.数式の形は
複数の文字をOR条件に指定するには、FIND関数とIFERROR関数との組み合わせます。
数式の形は、次の通りです。
◎条件が2つの場合
◎条件が3つの場合
条件が増えるごとに「IFERROR()」の部分を引数「対象」に追加します。
そして、IFERROR関数の引数「エラーの場合の値」に「0(値は任意)」を入れます。
こうすることで、「文字Aが含まれているかを確認し、含まれている場合にはその位置を、含まれていない場合には文字Bが含まれているかを確認し、その位置を…」という数式になるのです。
2-2.例で確認
先ほどの例で、数式を確認してみます。
例えば、セルB3に入れた数式は、次の通りです。
=IFERROR(FIND("都",A1),IFERROR(FIND("道",A1),IFERROR(FIND("府",A1),IFERROR(FIND("県",A1),0))))
これで「セルA1に『都』か『道』か『府』か『県』があればその位置を、どれもなければ『0』を返す」という意味になります。
3.OR条件で文字列を抽出するには
続いて、先ほどの数式を利用した「OR条件で文字列を抽出する数式」についての説明です。
パターンごとに分けてみていきます。ちなみに、どれも条件は「複数・OR条件」です。
3-1.先頭から条件に合う文字まで抜き出す場合
文字列の先頭から条件に合う文字まで抜き出したい場合、数式の形は次のようになります。
◎条件が2つの場合
◎条件が3つの場合
引数は、先ほどの数式と同じ「検索文字列」と「対象」の2つです。
また、引数の入力の仕方も同じです。
数式をコピーして、引数のところを書き換えると早いと思います。
一つ例を見てみます。
先ほどの例から都道府県名を抜き出した時、セルC1に入れる数式は、次のようになります。
=LEFT(A1,IFERROR(FIND("都",A1),IFERROR(FIND("道",A1),IFERROR(FIND("府",A1),IFERROR(FIND("県",A1),0)))))
下のセルには、この数式をコピーしています。
3-2.後方から条件に合う文字の次まで抜き出す場合
文字列の後方から条件に合う文字まで抜き出したい場合、数式の形は次のようになります。
◎条件が2つの場合
◎条件が3つの場合
引数は、先ほどの数式と同じ「検索文字列」と「対象」の2つです。
また、引数の入力の仕方も同じです。
数式をコピーして、引数のところを書き換えると早いと思います。
一つ例を見てみます。
先ほどの例から都道府県名を抜き出した時、セルC1に入れる数式は、次のようになります。
=RIGHT(A1,LEN(A1)-IFERROR(FIND("都",A1),IFERROR(FIND("道",A1),IFERROR(FIND("府",A1),IFERROR(FIND("県",A1),0)))))
下のセルには、この数式をコピーしています。
【口コミ・評判のいいExcel本の紹介】
FIND関数に関連したページは、次の通りです。。
- FIND関数 使いこなすためのポイントはこちら
- ◎基本的な使い方
- ◎複数の文字をOR条件で検索する方法
- ◎複数ある文字の2、3番目の位置を返す方法
- ◎右から検索して位置を抽出する方法
- ◎先頭から指定文字の一つ前までを抜き出す方法