エクセルで論理関数を組み合わせる方法

おさ氏:どうもみなさん、こんにちは。「おさとエクセル」のおさです。今日は、とうとう来ました、論理関数最後のレッスンです。

最後のレッスンは、それにふさわしいちょっと複雑なものをやっていこうかな、と思っています。具体的には、IF関数とAND関数とOR関数、この3つを組み合わせてやっていくつもりです。

ですので、IF関数とか、ほかの論理関数を単体で勉強していない方、リンク先ちょっと出しておくので、こちらのほうで先に勉強した後に、こちらの動画見るようにしましょう。

では、さっそく入っていきます。よろしくお願いします。今日の条件を見ていきましょう。

今日の条件は、ちょっと複雑になっています。僕、自分自身で作ってても、「あれ、これ、なに言ってんねやろ?」と思った時もあったので(笑)、みなさん、今回1回で理解できなくても安心してください。僕もです。ご安心ください。

じゃあ、大事なところだけ確認していきます。まず、IF関数の少しだけおさらいします。IF関数というものは、引数に3つのステートメント指定しましたね。3つの引数を指定しました。1つ目の引数としては論理式、2つ目の引数としては真の時の値、TRUEの時の値ですね、3つ目の引数としてはFALSEの時の値、これらを返しました。

これらのうち、1つ目の引数にある論理式というものがこちらです。今、引っ張ったところですね。

この論理式が成り立つ時、つまり、TRUEの時はキムチ鍋を返して、FALSEの時はてんぷらそばを返して、というようなIFステートメントを作っていきます。

難しいところは、キムチ鍋、てんぷらそばではありません。1つ目の論理式を作るところです。ただ、難しいと言っても、そんな難しいことないんですよ。落ち着いて見ていけば、すぐわかります。

じゃあ、ANDとOR関数について、以前勉強しましたよね。この組み合わせ。

この組み合わせを勉強した時に、「大きな枠組みとしては『かつ』の概念なんで、ANDを使うんだよ」みたいなことを言いました。「じゃあ、今回の大きな枠組みってどれなの?」という話をすると、当然のごとく、真ん中のこの「または」ですよね。「または」がキーワードです。

「または」を扱うのはOR関数でしたね。ということは、IF関数の引数の1つ目、論理式に使う大きな枠組みとしては、OR関数を当てはめるというわけです。

そして、OR関数の中に、AND関数とか、さらにOR関数とかを組み合わせていくことになるわけですね。

AND関数としては、条件1が当てはまるはずです。なぜなら、ここに思いっ切り「かつ」と見えてるからですね。

1つ目の条件として「1度以上かつ9度以下」、こういうものを設定します。条件2としては「雨または雪」、これはOR関数が当てはまりますね。というものを設定していきます。

これらが満たされる時、少なくとも1つの条件が満たされる時、TRUEという値が返されるのでキムチ鍋になりますね。両方とも満たされない時は、FALSEなのでてんぷらそばになります。

こういうものを作っていこうかなと思ってますので、ぜひぜひご覧ください。

実際に関数を作ってみる

では、さっそくこちらのほうにIF関数とかAND関数をいろいろ打っていきます。ちょっと長めの数式になりそうですので、これぐらい幅を取っておきましょう。

さっそくいきましょう。「=」で始めて、「IF」ですね。で、IF関数の場合、3つの引数指定すると言いました。で、ここですね。

1つ目の引数としては、論理式ですので、今回、この黄色い部分すべてが論理式にあたります。

で、大きな枠組みとしては、この「または」というのが効いているので、OR関数を指定することになりますね。

で、この後、OR関数の中身の条件1とか2とか、具体的に指定していってもいいんですが、今回わかりやすくするために、先に論理式ができたと仮定しちゃいましょう。IF関数の1つ目の引数、完全にもうできたと仮定します。

この時に、TRUEの時はキムチ鍋(M10)という値を返してほしくて、FALSEの時はてんぷらそば(M11)を返してほしいんですね。これで括弧で閉じてあげます。

はい、できました。IF関数のステートメントできちゃいましたね。ただし、この真の時の値と偽の時の値、絶対参照に変えるようにしましょう。

絶対参照については、以前お話してるので、そちらを参照ください。これでEnterを押してあげると、もちろん入力した数式にはエラーがあります。

そりゃそうですね。論理式、完全に飛ばしましたもんね。

では、論理式を設定していきましょう。OR関数の中身として、条件1、条件2、2つの論理式を設定することになります。2つの条件を設定することになります。

1つ目の条件としては、「1度以上かつ9度以下」ですね。この中身見てみるとわかる通り、「かつ」の概念ですので、AND関数が得意とするところ。つまり、最初の論理式1としては、「AND」と打ってあげればいいということがわかります。AND関数も、括弧で始めて、括弧で閉じるんでしたよね。

AND関数の中身を指定するのもいいんですが、ちょっとわかりやすくするために1回閉じちゃいます。で、OR関数の大きな枠組みだけ、しっかり作っていきます。今、これで条件1のところはできたというわけですね。さらにコンマつけてるので、次、条件2のほうを指定することができます。

条件2は(「雨または雪」ということで)、「または」という概念で作られているので、今度はOR関数ですよね。OR関数の中に、さらにOR関数を組み込むというわけです。「OR」で始めて、これも先に(括弧を)閉じちゃいましょう。

はい。これで、今ですね、「条件1または条件2」という枠組みはしっかり作れました。今度は、条件1のこの「1度以上かつ9度以下」っていうのを表現したいのと、あと(条件2の)「雨または雪」ですね。これを、ちょっとつなげていきたいなと思います。

最初、ANDのほうで、「1度以上かつ9度以下」やっていきましょう。この気温がですね、1度以上ですね、「>=1」と。で、コンマで区切って、「かつ」ですね、この気温C3が、今度は9度以下かな、「<=9」ですね。

はい、これでAND関数の中身、指定できました。条件1が指定できたということです。

今度、条件2を指定するために、OR関数の中身作っていきます。こちら(OR関数の論理式1)ですね。天気(D3)、晴れが(入っていますが、条件2で指定するのは)雨ですね。……あ、僕のルームメイトが帰ってきました。気にしないでいきましょう(笑)。こちら(OR関数の論理式2)が雪ですね。はい、こんな感じで指定します。

今ですね、最初、この「AND」から始まって、ここまでで条件1で、

この「OR」から始まって、こちらの括弧までですね、で条件2を指定することができました。

これでEnterを押してあげると、

はい、キムチ鍋が返ってきましたね。キムチ鍋ってどんな時に返されるかというと、TRUEの時ですね、気温が9度以下、これに当てはまってるのでキムチ鍋が返ってきてます。じゃあ、これを作っていきます。

そうすると、やたらとてんぷらそばが出てきましたね。てんぷらそばとキムチ鍋、見てみると、キムチ鍋のほうが明らかに少ないことがわかるかと思います。ちょっとキムチ鍋のところ、見ていきましょう。

レコードNo.4で、気温が8度、天気が雨ですね。これ、キムチ鍋っていうことは、つまり、この条件に当てはまっている、と。TRUEですので、キムチ鍋が返ってくるのが。この条件に当てはまっているということが言えます。で、「1度以上9度以下」、当てはまってますね。「雨または雪」でも当てはまってますね。どちらにも当てはまってました。

下のほう見てみようかな。レコードNo.16、わかりやすいですね。

こちら、気温が12度で、天気が雨です。条件1は満たしてないんですが、条件2は、雨というのを満たしているので、キムチ鍋が返ってきていますね。

はい、こんな感じです。IF関数使うことで、いろんな値をはじき出すことができるんですが、その中の論理式として、AND関数とかOR関数とか、あるいはNOT関数ですね。こういった論理関数を組み合わせることで、複雑な条件を指定して、おもしろい値を返すことができるようになります。

なかなか、1回で理解しろって言われても難しいんですけども、慣れです。わからなくても大丈夫です。でも、少しずつ少しずつ、やっていきましょう。

ということで、今日は、IF関数とAND関数とOR関数と組み合わせたものをやっていきました。みなさん、これを何回も復習して、ぜひぜひ自分でも使いこなせるようにしていきましょう。

はい。論理関数お疲れさまでした。僕もお疲れさまでした。ではでは、また明日。バイバイ。