- 関数IFで複数の条件がある場合はどうやるのか・・・
- AND・OR・NOTの意味は分かるけど式で使うには?
- 具体的な使用例で知りたい!
こんな悩みを解決します。
最後まで読んで頂き、実践して、ここへ来なくなった頃には、
あなたはスキルアップしている事でしょう。
さて、この記事の題目は
このサイトを運営している私は、
製造業での設計歴20年以上のエンジニアです。
Excelを使って業務効率化もしています。
Excel関数「AND・OR・NOT」って何?
すべての引数がTRUEであるかを返す場合は「AND関数」
いずれかの引数がTRUEであるかを返す場合は「OR関数」
引数がFALSEであればTRUE、TRUEであればFALSEを返す場合は「NOT関数」
を使用します。
式の書き方はそれぞれ
「=AND(論理式1,[論理式2], …)」
「=OR(論理式1,[論理式2], …)」
「=NOT(論理式)」
となります。
早速ですが、使い方を紹介させて頂きます!
1限目「AND・OR・NOT」使い方:表の作成
「AND関数」「OR関数」「NOT関数」の使用例として、やる事リストから作成していきます。
「宿題」「お手伝い」「日記」というリストに対し
右側に「終わってない」「終わった」を入力します。
3種類のやる事リストが1つでも「終わってない」の場合は
「まだ終わってないよ」と表示します。
全て「終わった」になると「全部終わったよ」と表示される仕組みとなっております。
「終わった」「終わってない」はリスト選択式にしておきます。
リスト選択式にするには「データーの入力規則」で
入力値の種類を「リスト」にし、元の値に「終わった,終わってない」と設定して下さい。
Excel機能について、もっと詳しく知りたい方は
↑コチラをご覧ください
以上で「AND関数」「OR関数」「NOT関数」を使う準備が出来ました。
2限目「AND」使い方:式の書き方
「AND関数」は、すべての引数がTRUEであるかを返す場合ですので
今回の例では、全てが「終わった」になると「全部終わったよ」と返す動作になります。
この条件を、さらに細かく表現してみると
「もし」、「宿題」と「お手伝い」と「日記」が「終わった」場合
「全部終わったよ」と表示し、そうでなければ「まだ終わってないよ」と表示する。
となります。
「もし」、なので「=IF(」から始まります。
次に、「宿題(セルC3)=”終わった“」&
「お手伝い(セルC4)=”終わった“」&「日記(セルC5)=”終わった“」を
式の書き方「=AND(論理式1,[論理式2], …)」に従って作成すると
「=IF(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”)」となります。
「,」(カンマ)で区切り、値が真の場合「全部終わったよ」と表示させる為に
「=IF(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”),”全部終わったよ”」
さらに「,」(カンマ)で区切り、値が偽の場合「まだ終わってないよ」と表示させる為に
「=IF(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”),”全部終わったよ”,”まだ終わってないよ”)」
という記述で、式は完成となります。
3限目「OR」使い方:式の書き方
「OR関数」は、いずれかの引数がTRUEであるかを返す場合ですので
今回の例では、いずれかが「終わってない」になると「まだ終わってないよ」と返す動作になります。
先程の「AND関数」とは逆の考え方になっています。
この条件を、さらに細かく表現してみると
「もし」、「宿題」か「お手伝い」か「日記」が「終わってない」場合
「まだ終わってないよ」と表示し、そうでなければ「全部終わったよ」と表示する。
となります。
先程と同様に「もし」、なので「=IF(」から始まります。
次に、「宿題(セルC3)=”終わってない”」&
「お手伝い(セルC4)=”終わってない”」&「日記(セルC5)=”終わってない”」を
式の書き方「=OR(論理式1,[論理式2], …)」に従って作成すると
「=IF(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”)」となります。
「,」(カンマ)で区切り、値が真の場合「まだ終わってないよ」と表示させる為に
「=IF(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”),”まだ終わってないよ”」
さらに「,」(カンマ)で区切り、値が偽の場合「全部終わったよ」と表示させる為に
「=IF(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”),“まだ終わってないよ”,”全部終わったよ”)」
という記述で、式は完成となります。
4限目「NOT」使い方:式の書き方
「NOT関数」は、引数がFALSEであればTRUE、TRUEであればFALSEを返す場合です
これは括った部分を否定する効果があります。
「AND関数」で作成した式
「=IF(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”),”全部終わったよ”,”まだ終わってないよ”)」
に「NOT関数」を組込んで
「=IF(NOT(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”)),”全部終わったよ”,”まだ終わってないよ”)」
という風に「AND関数」を括ってみました。
すると、全てが「終わった」になっても
それを否定して「まだ終わってないよ」と返す動作になります。
ですのでこの場合は、結果を反対に記述する事で対処出来ます。
「=IF(NOT(AND(C3=”終わった”,C4=”終わった”,C5=”終わった”)),”まだ終わってないよ“,”全部終わったよ“)」
「全部終わったよ」と表示する様になりました。
「OR関数」で作成した式も同様に
「=IF(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”),“まだ終わってないよ”,”全部終わったよ”)」
に「NOT関数」を組込んで
「=IF(NOT(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”)),“まだ終わってないよ”,”全部終わったよ”)」
という風に「OR関数」を括ってみました。
すると、いずれも「終わってない」になっていないのに
それを否定して「まだ終わってないよ」と返す動作になります。
こちらも、結果を反対に記述する事で対処出来ます。
「=IF(NOT(OR(C3=”終わってない”,C4=”終わってない”,C5=”終わってない”)),“全部終わったよ“,”まだ終わってないよ“)」
「全部終わったよ」と表示する様になりました。
5限目「AND・OR・NOT」使い方:補足
捕捉として「AND関数」「OR関数」「NOT関数」を使わない方法があるので紹介させて頂きます。
実は「IF」の中には、さらに「IF」を記述する事が可能です。
「もし」、「宿題」が「終わった」場合に「もし」、「お手伝い」も「終わった」場合に
「もし」、「日記」も「終わった」場合に~という風に続けて記述する感じです。
「=IF(C3=”終わった”,IF(C4=”終わった”,IF(C5=”終わった”,”全部終わったよ”,”まだ終わってないよ”),”まだ終わってないよ”),”まだ終わってないよ”)」
という式でも同じ結果が得られます。
どれにしても、組合せは自由ですので
使いやすい方法で作業して頂ければよろしいかとおもいまが
短い式にしておく方が、見やすくて良いでしょう。
Excel関数「AND・OR・NOT」まとめ
「AND関数」「OR関数」「NOT関数」を使う事で
複数の条件に対応した結果を表示する事が可能となります。
情報量が増えてくれば使う機会も多くなりますので、覚えておきましょう。
式の作り方次第で見難くなっちゃうから
そこは気を付けようね!
組合せ次第で色々な条件が作れるんだね
ありがとう!
これで悩みが解決し、一つ成長しました。
最後までご観覧頂きありがとうございました!
コメント