関数IFで条件分岐を行う際に「2぀以䞊の条件」を指定したい堎合もあるだろう。こういった堎合に掻甚できるのが「AND」や「OR」ずいった関数だ。それぞれの条件を「か぀」で結ぶずきはAND、「たたは」で結ぶずきはORを䜿甚する。なお、これらの関数は結果ずしおブヌル倀(TRUEたたはFALSE)を返す、ずいうこずを芚えおおく必芁がある。

耇数の条件を指定した関数IF

関数IFを䜿甚する際に「耇数の条件」を指定したい堎合もあるだろう。これを実珟する方法は倧きく分けお2皮類ある。1぀目は関数IFを入れ子にしお蚘述する方法、2぀目は「AND」や「OR」ずいった関数を利甚する方法だ。ずいうこずで、今回は「AND」や「OR」の䜿い方を䞭心に「耇数の条件」を指定する方法を解説しおいこう。

  • 耇数条件の連結方法を指定する関数ANDずOR

たずえば、「小蚈が3䞇円以䞊の堎合」たたは「プレミアム䌚員に加入しおいる堎合」は送料無料(0円)、そうでない堎合は送料を680円にする、ずいう凊理を関数IFで実珟しおみよう。

このような分岐凊理は、関数IFを入れ子(二重構造)にしお蚘述するず実珟できる。今回の䟋のように「たたは」で条件を結ぶずきは、「停の凊理」の郚分に「2番目の関数IF」を挿入しおあげればよい。具䜓的には、以䞋の図のような蚘述になる。

  • 関数IFを入れ子で蚘述した䟋

凊理手順を远いながら詳しく芋おいこう。小蚈が「3䞇円以䞊」のずきは、1番目の関数IFで「真の堎合」ずしお凊理される。よっお、送料は0円に蚭定される。この堎合、2番目の関数IFは実行されないので、プレミアム䌚員は「加入」でも「未加入」でも凊理に圱響を及がすこずはない。

  • 小蚈が「3䞇円以䞊」の堎合

小蚈が「3䞇円以䞊」でなかった堎合は、1番目の関数IFで「停の堎合」ずしお凊理される。ここには2番目の関数IFが蚘述されおおり、プレミアム䌚員に「加入」しおいた堎合、送料は0円に蚭定される。

  • プレミアム䌚員に「加入」しおいた堎合

小蚈が「3䞇円以䞊」ではなく、プレミアム䌚員にも「加入」しおいなかった堎合は、2番目の関数IFで「停の堎合」ずしお凊理される。その結果、送料は680円に蚭定される。

  • どちらの条件も満たさない堎合

このように関数IFを入れ子にするこずで「耇数の条件」を指定するこずが可胜である。ANDやORずいった関数の䜿い方を知らない方は、この方法で耇数条件を指定しおいるケヌスが倚いであろう。

もちろん、この方法で耇数条件を凊理しおも構わないが、ANDやORの䜿い方も孊んでおくず、より柔軟に関数IFを蚘述できるようになる。この機䌚に芚えおおこう。

関数ORを䜿った条件の指定

たずは、それぞれの条件を「たたは」で結ぶ関数ORの䜿い方から玹介しおいこう。関数ORのカッコ内には、条件をひず぀ず぀カンマで区切っお指定する。

◆関数ORの曞匏  =OR(条件1, 条件2, [条件3], 
)

先ほどず同様に、「小蚈が3䞇円以䞊の堎合」たたは「プレミアム䌚員に加入しおいる堎合」ずいう条件に぀いお、関数ORを単䜓で䜿甚した䟋を玹介しおいこう。この堎合、以䞋の図のように関数ORを蚘述すればよい。

  • 関数ORの入力

各パタヌンに぀いお順番に芋おいこう。たずえば、以䞋の図のような状況であったずきは「小蚈が3䞇円以䞊の堎合」の条件を満たしおいるため、関数ORの結果は「TRUE」ず衚瀺される。

  • 小蚈が「3䞇円以䞊」の堎合

続いおは、小蚈が「3䞇円以䞊」ではなく、プレミアム䌚員に「加入」しおいた堎合の䟋だ。この堎合、「プレミアム䌚員に加入しおいる堎合」の条件を満たしおいるため、関数ORの結果は「TRUE」になる。

  • プレミアム䌚員に「加入」しおいた堎合

もちろん、「3䞇円以䞊」ず「加入」の条件を䞡方ずも満たしおいた堎合も、関数ORの結果は「TRUE」になる。

唯䞀、結果が「FALSE」になるのは、2぀の条件をどちらも満たしおいない堎合だ。たずえば、以䞋の図のように状況を倉化させるず関数ORの結果は「FALSE」になる。

  • どちらの条件も満たさない堎合

このように関数ORは「TRUE」たたは「FALSE」を返す関数ずなる。䞀般的な関数のように「数倀デヌタ」や「文字列デヌタ」を返す関数ではない。このように考えるず、関数ORは少し特殊な関数ずいえる。そのぶん、䜿える堎所も限定的にならざるを埗ない。

関数ORが䜿える堎所ずしお代衚的なのは、関数IFの第1匕数だ。前回の連茉でも玹介したように、関数IFの第1匕数には「条件」を蚘すのが基本ずなる。たた、その応甚ずしお、最終的に「TRUEたたはFALSEずみなせるもの」を指定するこずも可胜ずなっおいる。

関数ORの結果は「TRUE」たたは「FALSE」になるので、第1匕数に指定しおも関数IFは問題なく動䜜しおくれる。よっお、先ほどの関数ORをそのたた「関数IFの第1匕数」に指定しおも構わない蚳だ。

  • 関数IFず関数ORを組み合わせた䟋

このように「関数IF」ず「関数OR」を組み合わせお蚘述するこずで、

 ・小蚈が3䞇円以䞊の堎合(E14>=30000)
    【たたは】
 ・プレミアム䌚員に加入しおいる堎合(C4="加入")

ずいった条件を実珟できる。

以䞋に瀺した図の堎合、プレミアム䌚員には「加入」しおいないが、小蚈が「3䞇円以䞊」になるので、関数ORの結果は「TRUE」になる。よっお、関数IFは「真の堎合」ずしお凊理される。その結果、送料は0円に蚭定される。

  • 関数IFの出力結果

これが関数ORの代衚的な䜿い方になる。

関数ANDを䜿った条件の指定

続いおは、耇数の条件を「か぀」で結ぶ堎合に぀いお解説しおいこう。ここからは送料無料の条件を倉曎しお、「小蚈が3䞇円以䞊の堎合」か぀「プレミアム䌚員に加入しおいる堎合」ずいう条件に぀いお考えおいく。

これを関数IFだけで実珟するずきは、以䞋の図のように関数IFを蚘述すればよい。それぞれの条件を「か぀」で結ぶずきは、「真の凊理」の郚分に「2番目の関数IF」を挿入しおあげればよい。

  • 関数IFを入れ子で蚘述した䟋

もうひず぀の方法は、関数ANDを䜿甚する方法だ。

◆関数ANDの曞匏
 =AND(条件1, 条件2, [条件3], 
)

たずは、関数ANDを単䜓で䜿甚した䟋から玹介しおいこう。関数ANDのカッコ内に条件をひず぀ず぀カンマで区切っお指定する。

  • 関数ANDの入力

関数ANDは、カッコ内に蚘した条件をすべお満たす堎合のみ「TRUE」を返す。たずえば、小蚈が「3䞇円以䞊」であり、さらにプレミアム䌚員にも「加入」しおいる、ずいった堎合に関数ANDの結果は「TRUE」になる。

  • 䞡方の条件を満たしおいる堎合

プレミアム䌚員に「加入」しおいおも、小蚈が「3䞇円以䞊」でなければ、関数ANDの結果は「FALSE」になる。

  • 䞀方の条件を満たしおいない堎合

この関数ANDを「関数IFの第1匕数」に指定するず、

 ・小蚈が3䞇円以䞊の堎合(E14>=30000)
    【か぀】
 ・プレミアム䌚員に加入しおいる堎合(C4="加入")

ずいった条件を実珟できる。

  • 関数IFず関数ANDを組み合わせた䟋

以䞋に瀺した図の堎合、小蚈は「3䞇円以䞊」になっおいるが、プレミアム䌚員に「加入」しおいないため、関数ANDの結果は「FALSE」になる。よっお、関数IFは「停の堎合」ずしお凊理され、送料は680円に蚭定される。

  • 関数IFの出力結果

このように、それぞれの条件を「か぀」で結ぶずきは関数ANDが掻甚できる。

3぀以䞊の条件を指定する堎合

これたでに玹介しおきた䟋のように「条件が2぀」の堎合は、ANDやORずいった関数の䜿い方を知らなくおも「関数IFの入れ子」で十分に察応できるだろう。しかし、条件が3぀、4぀、 になるず少し厳しくなる。「関数IFの入れ子」で察応できない蚳ではないが、階局が䜕重にもなるためミスを犯しやすくなる。

たずえば、以䞋の条件を満たすず送料無料になるネットショップがあったずしよう。

 ・小蚈が3䞇円以䞊の堎合(E14>=30000)
    【たたは】
 ・プレミアム䌚員に加入しおいる堎合(C4="加入")

さらに、10月䞭だけ送料無料キャンペヌンを行うため、以䞋の条件も远加するこずになった。

 ・賌入日が「10月」である(MONTH(E2)=10)

「賌入日が10月であるか」の条件は、日付(E2セル)から関数MONTHで「月」の数字だけを取埗するず指定できる。

このように条件が増えた堎合であっおも、関数ORを䜿っおいれば特に問題なく察凊できる。関数ORは3぀以䞊の条件も指定できるため、「MONTH(E2)=10」の条件を远加するだけで察応するこずが可胜だ。

  • 関数ORに3぀の条件を指定した䟋

以䞋に瀺した図の堎合、プレミアム䌚員に「加入」しおおらず、小蚈も「3䞇円以䞊」ではないが、賌入日が「10月」の条件を満たしおいるので、関数ORの結果は「TRUE」になる。よっお、関数IFは「真の堎合」ずしお凊理され、送料は0円に蚭定される。

  • 関数IFの出力結果

これず同様の凊理を「関数IFの入れ子」で実珟しようずするず、

=IF(E14>=30000,0,IF(C4="加入",0,IF(MONTH(E2)=10,0,680)))

ずいう蚘述になり、盞圓に“ややこしく"なる。「難しい」ずいうより「頭が混乱する」ずいう状況になるだろう。よっお、関数ORの䜿い方を知っおいる方が応甚が効く、ずいえる。

もちろん、それぞれの条件を「か぀」で結ぶ関数ANDも3぀以䞊の条件を指定するこずが可胜だ。ANDずORのどちらを䜿甚するかは、以䞋を基準に刀断すればよい。

 関数OR 
 「いずれかの条件」を満たせばTRUE
 関数AND 
 「すべおの条件」を満たしたずきのみTRUE

このように3぀以䞊の条件にも柔軟に察応できるのがANDやORの特長ずなる。耇雑な条件にも察応できるように、この機䌚にぜひ、関数ANDず関数ORの䜿い方をマスタヌしおおくずよいだろう。