エクセルIF関数で複数条件!AND関数、OR関数と組み合わせた使い方

エクセルIF関数の条件式は基本は1つですが、複数条件を指定することもできます。もし~だったらA、もし~だったらBと複数の論理式を指定できます。このIF関数の複数条件に、AND関数、OR関数と組み合わせて使うと、より複雑な条件の判定ができます。IF関数、AND関数、OR関数を組み合わせて使うことはよくありますが、IF関数のネストにOR関数、AND関数を組み合わせて使う、使い方はどうでしょうか? 意外と、色々な場面で使うことが多いです。これは、覚えておきたい方法です。

 

 

IF関数

エクセルIF関数は、条件式の結果が真の場合は真の場合の値を返し、偽の場合は偽の場合の値を返す関数です。エクセルIF関数は複数条件を指定して使うことができますが、AND関数、OR関数と組み合わせることによって、より複雑な条件式の判定をすることができます。

IF関数の書式と引数

IF(論理式,真の場合,偽の場合)

論理式 条件式を指定します。
真の場合 論理式がTRUEの場合に返す値を指定します。
偽の場合 論理式がFALSEの場合に返す値を指定します。省略するとFALSEを返します。

IF関数をOR関数と組み合わせて使う

IF関数とOR関数の組み合わせの基本です。

C列の「金額」に、年齢が70以上、または10以下の場合は「0」、それ以外は「1,000」を表示させてみましょう。

 

C2に、式を入力します。

C2 =IF(OR(B2>=70,B2<10),0,1000)

C2には「1,000」が返されます。

C2の式をドラッグして、下にコピーしましょう。

70以上、または10以下の場合は「0」、それ以外は「1,000」が表示されました!

 

 

IF関数の複数条件にOR関数と組み合わせて使う

IF関数の複数条件にOR関数を組み合わせて、より複雑な判定をすることができます。

保証番号で分類して、特約番号を振ってみましょう。

 

保証番号で表示させる特約番号

保証番号 特約番号
11、12、15 A
13、16、17 B
14、18 C
11、12、13、14、15、16、17、18以外 空白

 

保証番号が「11 or 12 or 15」だったら「A」、「13 or 16 or 17」だったら「B」、「14 or 18」だったら「C」、それ以外は「空白」を表示させます。

 

C2に式を入力しましょう。

C2 =IF(OR(B2=11,B2=12,B2=15),”A”,IF(OR(B2=13,B2=16,B2=17),”B”,IF(OR(B2=14,B2=18),”C”,””)))

C2には、「A」が返されます。

B2は、保証番号「12」です。

保証番号が「11 または 12 または 15」だったら「A」なので、C2には「A」が返されています。

C2の式をドラッグして、下にコピーしましょう。

保証番号で表示させる特約番号が、表示されました!

 

 

IF関数をAND関数と組み合わせて使う

IF関数とAND関数の組み合わせの基本です。

D列の「合否」に、「数学」が80以上、かつ「英語」が80以上の場合は「合格」、それ以外は「不合格」を表示させてみましょう。

 

D2に、式を入力します。

D2 =IF(AND(B2>=80,C2>=80),”合格”,”不合格”)

D2には「不合格」が返されます。

D2の式をドラッグして、下にコピーしましょう。

「合格」、「不合格」が表示されました!

IF関数の複数条件にAND関数と組み合わせて使う

IF関数の複数条件にAND関数を組み合わせて、より複雑な判定をすることができます。

「種類」と「有効」で、「プラン」を表示させてみましょう。

 

「種類」と「有効」で表示させる「プラン」

種類 有効 特約番号
W1 1 A
Q2 1 B
P3 1 C
「種類」and「有効」が上記以外 無効

 

「種類」が「W1」かつ「有効」が「1」だったら「A」、「種類」が「Q2」かつ「有効」が「1」だったら「B」、「種類」が「P3」かつ「有効」が「1」だったら「C」、それ以外は「無効」を表示させます。

 

D2に、式を入力しましょう。

D2 =IF(AND(B2=”W1″,C2=1),”A”,IF(AND(B2=”Q2″,C2=1),”B”,IF(AND(B2=”P3″,C2=1),”C”,”無効”)))

D2には「A」が返されます。

B2は「種類」が「W1」、C2は「有効」が「1」です。「種類」が「W1」かつ「有効」が「1」だったら「A」なので、D2には「A」が返されています。

D2の式をドラッグして、下にコピーしましょう。

「種類」と「有効」で表示させる「プラン」が、表示されました!

 

 

関数の説明

OR関数

いずれかの引数がTRUE のときTRUE を返し、引数がすべて FALSE である場合はFALSE を返します。

OR関数の書式と引数

OR(論理式 1, [論理式 2], …)

OR関数の使い方

数式 説明
 B2 =OR(A2>=10,A2=20)  「A2」には「10」と入力されています。「B2」には「TRUE」が返されます。

AND関数

すべての引数がTRUE と評価された場合はTRUEを返し、1つ以上の引数がFALSEと評価された場合はFALSE を返します。

AND関数の書式と引数

AND(論理式1, [論理式2], …)

AND関数の使い方

数式 説明
 C2 =AND(A2=1,B2=”A”)  「A2」には「1」、「B2」には「A」と入力されています。「C2」には「TRUE」が返されます。

IF関数のネストを回避

エクセルIF関数の複数条件にOR関数、AND関数と組み合わせる使い方を紹介しましたが、複数条件が3つ以上、5つ以上ある時はどうでしょう。恐ろしく長ーい式になってしまします。

何よりも、途中で式を間違って入力しやすいです。何度も間違えてやり直した、という経験はないでしょうか。

このIF関数の入れ子を解決する方法があります!この方法を使うと長ーいIF関数の式が、あっと驚くほど短く簡潔になります!これは、覚える価値があります!

こちらの記事もご覧ください。⇒エクセルIF関数の複数条件を指定するネストは不要!LOOKUP関数で短く簡潔に