こんにちは、さち です。
エクセルで「IF」関数ってよく使いますよね。
この関数を覚えていれば
大抵の条件分岐は何とかなるので非常に便利です。
しかし、IF関数だけで条件分岐をしていると
IFの中にIFが入る、いわゆる「IFのネスト(入れ子)」ができてしまい
後で修正する時に『どうなんってんだこれ?』と泣きたくなります。
例えば、「条件1」「条件2」が両方とも「○」のときに「OK」とする場合
「式」と「結果」は上の画像のようになります。
IFのネストの数がこれくらいならまだ何とかなりますが
条件3, 条件4, 条件5 … と増えていったら絶望的。
ダレカタスケテー!
全部当てはまる時だけOK!「AND」関数
すべての条件が当てはまる時だけ「TRUE(真)」を返す。
逆に、1つでも当てはまらなければ「FALSE(偽)」を返す。
条件は「,(コンマ)」で区切れば何個書いてもよい。
- IF関数だけで書いた
「条件1」「条件2」が両方とも「○」のときに「OK」とする式を
AND関数を使ってもっとシンプルにしてみましょう。
- AND関数を使って分岐の条件を書くとこうなります。
「条件1」「条件2」が両方「○」の時だけ「TRUE」が返ってきます。
- IF関数と組み合わせるとこうなります。
条件が1つにまとまったのでIF関数は1つだけで済みます。
(IF関数は「TRUE」なら「真の場合」を、「FLASE」なら「偽の場合」を実行する)
これなら、条件が増えても修正が簡単ですね。
1つでも当てはまればOK!「OR」関数
条件が1つでも当てはれば「TRUE(真)」を返す。
逆に、1つも当てはまらない時は「FALSE(偽)」を返す。
条件は「,(コンマ)」で区切れば何個書いてもよい。
- IF関数だけで書いた
「条件1」「条件2」のどちらかが「○」のときに「OK」とする式を
OR関数を使ってもっとシンプルにしてみましょう。
- OR関数を使って分岐の条件を書くとこうなります。
「条件1」「条件2」どちらかが「○」の時に「TRUE」が返ってきます。
- IF関数と組み合わせるとこうなります。
条件が1つにまとまったのでIF関数は1つだけで済みます。
(IF関数は「TRUE」なら「真の場合」を、「FLASE」なら「偽の場合」を実行する)
これなら、条件が増えても修正が簡単ですね。
(大事なことなので二回目)
当てはまらない場合はOK!「NOT」関数(おまけ)
「AND」「OR」以外で、同じような働きをするものに
「NOT」関数というものがあります。
条件に当てはまらない場合「TRUE(真)」を返す。
逆に、当てはまる場合は「FALSE(偽)」を返す。
NOT関数を使って
「×」でなければ「OK」という条件を書くと「式1」のようになります。
「式2」のように
「=」等の代わりに「<>」を使うと「~でない」という意味になるので
NOT関数を単独で使う理由は少ないかもしれませんが
AND関数,OR関数と組み合わせて使うと便利です。
AND関数, OR関数 は関数名がそのままの意味で直感的。
知らなかったという人はぜひ覚えて使って下さい。
条件と結果によっては AND, OR が使えない場合もあり
必ず IFのネスト(入れ子) を回避できるというわけではないですが
分岐条件をシンプルに書くのにきっと役立つはずです。
【関連記事】
→ エクセル:「IF」の中の「IF」が見にくいから解決法を考えてみた
→ エクセル(Excel)で知ってると便利なこと 目次
コメント