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つの場合

=IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),0))

 

◎条件が3つの場合

=IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),IFERROR(FIND(検索文字列3,対象),0)))

 

条件が増えるごとに「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つの場合

=LEFT(対象,IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),0)))

◎条件が3つの場合

=LEFT(対象,IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),IFERROR(FIND(検索文字列3,対象),0))))

 

引数は、先ほどの数式と同じ「検索文字列」と「対象」の2つです。

 

また、引数の入力の仕方も同じです。

 

数式をコピーして、引数のところを書き換えると早いと思います。

 

一つ例を見てみます。

先ほどの例から都道府県名を抜き出した時、セルC1に入れる数式は、次のようになります。

=LEFT(A1,IFERROR(FIND("都",A1),IFERROR(FIND("道",A1),IFERROR(FIND("府",A1),IFERROR(FIND("県",A1),0)))))

 

下のセルには、この数式をコピーしています。

 

3-2.後方から条件に合う文字の次まで抜き出す場合

文字列の後方から条件に合う文字まで抜き出したい場合、数式の形は次のようになります。

◎条件が2つの場合

=RIGHT(対象,LEN(対象)-IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),0)))

◎条件が3つの場合

=RIGHT(対象,LEN(対象)-IFERROR(FIND(検索文字列1,対象),IFERROR(FIND(検索文字列2,対象),IFERROR(FIND(検索文字列3,対象),0))))

 

引数は、先ほどの数式と同じ「検索文字列」と「対象」の2つです。

 

また、引数の入力の仕方も同じです。

 

数式をコピーして、引数のところを書き換えると早いと思います。

 

一つ例を見てみます。

先ほどの例から都道府県名を抜き出した時、セルC1に入れる数式は、次のようになります。

=RIGHT(A1,LEN(A1)-IFERROR(FIND("都",A1),IFERROR(FIND("道",A1),IFERROR(FIND("府",A1),IFERROR(FIND("県",A1),0)))))

 

下のセルには、この数式をコピーしています。

 


口コミ・評判のいいExcel本の紹介】


FIND関数に関連したページは、次の通りです。。

  • FIND関数 使いこなすためのポイントはこちら
Top