関数「IF」で条件分岐させられることは分かったけど、複数の条件を組み合わせることはできないのだろうか?
条件分岐によって、出力結果を操作できる関数「IF」ですが、条件式を入力できる位置は1か所しかないため、「AとBを満たす」や、「AかBを満たす」といった複数条件を指定することができる関数はないのだろうか?
関数「IF」を知ると、そんな疑問が浮かぶかもしれません。
そんな方に朗報です。
IF関数と論理演算子もしくは、論理演算関数を使用することで複数条件を指定することができますよ
実は、関数「IF」だけで複数条件を指定して出力結果を操作することができるのです。
今回はそんな関数「IF」の複数条件指定での使用方法について紹介します。
※関数「IF」の使い方等の説明は以下のページを参照してください。
複数条件指定の関数「IF」の考え方
「IF」関数の構文は以下の通りです。

今回は、この条件式に複数の条件を当てはめる場合の方法について紹介します。
この関数「IF」を利用する際、複数条件を指定するには、論理演算関数か論理演算子を使用します。
論理演算の関数には「AND」「OR」「NOT」があり、論理演算子には「*」「+」「<>」があります。
それぞれ順番に、「論理積」「論理和」「否定」と定義されます。
それぞれの関数や演算子の使い方等の説明はそれぞれのページを参照してください。



※今回の紹介・説明は条件指定の部分に限りますので、分岐後の説明は行いません。分岐後の記載方法が知りたい方は「IF」関数の紹介ページを参照してください。
複数条件を満たす場合
複数条件を満たす場合には、「論理積」を使用します。
「IF」関数の条件式の部分に、複数条件を指定した論理積の条件式を記述することで、複数条件を満たす場合の「IF」関数となります。
例として、2つの条件を満たす場合と、3つの条件を満たす場合を紹介します。
ここで、前提条件として、A列にはくだものが入っており、B列には性別、C列には年齢が入っているものとします。
まずは、条件を二つ設定する場合です。
ここでの条件としては、〝くだものを「りんご」を選んだ「男」の場合〟に設定します。
条件設定の考え方については、下図のように段階的に考えると考えやすいと思います。

条件それぞれを数式にすると
- A1=”りんご”
- B1=”男”
となります。
それを演算子あるいは関数を使って数式に変えると以下の通りになります。
- (A1=”りんご”)*(B1=”男”)
- AND(A1=”りんご”,B1=”男”)
次に、条件を三つ設定する場合です。
条件三つの場合も、二つの場合と同様に設定条件を数式化していくと考えがまとまって良いです。
ここでの条件としては、〝くだものに「りんご」を選んだ「20歳」の「男」〟だとします。

条件それぞれを数式化すると
- A1=“りんご”
- B1=“男”
- C1=“20歳”
となります。
それを演算子あるいは関数を用いて記述すると、以下のようになります。
- (A1=“りんご”)*(B1=“男”)*(C1=“20歳”)
- AND(A1=“りんご”, B1=“男”, C1=“20歳”)
3つまでの条件を満たす場合の関数の引数の組み方を紹介しましたが、4つ以降についても考え方は同じで、同じように〝条件式〟の部分に「*(追加したい条件式)」を加えていきましょう。
複数条件のいずれかを満たす場合
複数条件のいずれかを満たす場合には、「論理和」を使用します。
「IF」関数の条件式の部分に、複数条件を指定した論理和の条件式を記述することで、複数条件を満たす場合の「IF」関数となります。
こちらも条件を全て満たす場合と同様に、2つの条件のいずれかを満たす場合と、3つの条件のいずれかを満たす場合について紹介します。
まずは条件を二つ設定する場合です。
ここでの条件は〝くだものは「りんご」を選んだ人、もしくは「男」〟だとします。

条件それぞれを数式化すると
- A1=”りんご”
- B1=”男”
となります。
それを演算子あるいは関数で表記すると以下のようになります。
- (A1=”りんご”)+(B1=”男”)
- OR(A1=”りんご”,B1=”男”)
次に、条件を三つ設定する場合です。
ここでの条件は〝くだものに「りんご」を選んだ人、もしくは「男」、もしくは「20歳」〟だとします。

条件それぞれを数式化すると
- A1=“りんご”
- B1=“男”
- C1=“20歳”
となります。
それを演算子あるいは関数で表記すると以下のようになります。
- (A1=“りんご”)+(B1=“男”)+(C1=“20歳”)
- OR(A1=“りんご”, B1=“男”, C1=“20歳”)
3つまでの条件を満たす場合の関数の引数の組み方を紹介しましたが、4つ以降についても考え方は同じで、同じように〝条件式〟の部分に「+(追加したい条件式)」を加えていきましょう。
複数条件を複雑に組み合わせる場合
複数条件の中でも、かなり複雑な条件を指定したい場合も出てくるかもしれません。
その一例を紹介します。
ここでの条件としては〝くだものに「りんご」あるいは「いちご」を選んだ「20歳」〟だとします。
この条件では、くだものの選択で論理和を使用し、年齢の選択で論理積を使う複合的な使い方になります。
演算子を使う場合は括弧を活用して論理和の優先順位をあげる。関数を使う場合は、関数の引数の中に関数を入れる入れ子構造にする必要があります。

条件それぞれを数式化すると
- A1=“りんご”
- A1=“いちご”
- C1=“20歳”
となります。
条件単独での数式化は難しくありません。
これを演算子あるいは関数を表記すると以下のようになります。
- ((A1=“りんご”)+(A1=“いちご”))*(C1=“20歳”)
- AND(OR(A1=“りんご”, A1=“いちご”), C1=“20歳”)
ポイントとしては、演算子の場合は〝(A1=“りんご”)+(A1=“いちご”)〟を括弧で括っているところです。
これによってくだものが「りんご」もしくは「いちご」の論理和が優先されます。
関数の場合はAND関数の第一引数にOR関数が使われているところです。
これによってOR関数の結果に対してAND関数が更に実行される形になります。
まとめ
Excelの関数「IF」の拡張的な使い方について説明しました。
この拡張的な使い方は、覚えていると何かと役にたつかと思います。
特にAとBを共に満たす場合の論理積については、結構使いどころは多いかと思います。
この機会に、論理演算と関数「IF」の併用を理解して、改善に役立てていきましょう。


コメント