エクセル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関数で短く簡潔に