データをエクセルで扱う際に欠かせないエクセル関数。特に、「=IF」なんかはよく使います。この関数を覚えておけば、たいがいの条件分岐はなんとかなりますが、IF関数だけを使っていると、文字列にIFがいくつも入ってしまい、修正をするときにややこしくなってしまうことがあります。
そこで、ここでは「エクセルでデータにしておいて」とか「このエクセルデータを修正して」といわれたときに、素早く対応できるようにエクセル関数でよく使う書式について解説します。
まずは、エクセルの基本のIF関数についておさらい
エクセル関数の大御所といわれる「IF関数」。
この関数は、「もしも~だったら」というときに使われるものです。例えば、「もしも売上が10,000円以上であればOK、そうでない場合は(この場合は、9,999円以下であれば)NG」というように条件に合うかどうかで結果をコントロールすることができます。
このような簡単な条件分岐なら、IF関数だけで十分ですが、条件1、条件2、条件3……と条件が増えればIFの中にIFが入ること(これを『ネスト』と呼びます)が多くなってしまいます。IFのネストが多くてもデータを作成することはできますが、修正をするときがとても大変。どうなっているのか分からずに泣きたくなってしまうことでしょう。
そんなときは「AND関数」と「OR関数」が非常に役立ちます。この関数を使えば、ネストを増やすことなく、条件分岐を作れるのです。
条件が全部当てはまるときだけOKになるAND関数
AND関数は、すべての条件が当てはまる場合のみ、「TRUE(真)」になり、ひとつでも条件に当てはまらない場合は「FALSE(偽)」になります。
今回の例であれば、午前と午後の売上に分けます。
=AND(C3>=5000,D3>=5000)
午前、午後、どちらともが5,000円の以上売上がある場合は、TRUE(真)、午前と午後どちらかが5,000円以上の売上があったとしても、どちらか一方がない場合はFALSE(偽)になります。
トータル10,000円という目標があったとしても、どちらかが5,000円以下であればFALSE(偽)になってしまいます。
AND関数を、IF関数と組み合わせると以下のようになります。
=IF(AND(C3>=5000,D3>=5000),”OK”,”NG”)
これなら、いくつか条件が増えたとしてもすぐに修正できるようになります。
条件にひとつでも当てはまったときにOKになるOR関数
AND関数と異なり、OR関数は条件にひとつでも当てはまったときに「TRUE(真)」になり、ひとつも条件に当てはまらない場合は「FALSE(偽)」になります。
先ほどと同じように、午前と午後の売上に分けた表で確認してみましょう。
=OR(C3>=5000,D3>=5000)
この表の場合、6月2日のみ午前・午後ともに売上が5,000円を下回っています。そのため、6月2日のみFALSE(偽)で、その他の日はTRUE(真)になります。
トータル10,000円という目標があったとしても、どちらかが5,000円以上であればTRUE(真)になるのです。
OR関数をIF関数と組み合わせると以下のようになります。
=IF(OR(C3>=5000,D3>=5000),”OK”,”NG”)
AND関数と同じく、これなら条件が増えても修正に困惑することがありません。
まとめ
IFのネストがたくさん入っていると、見た目がごちゃごちゃしてしまいますし、修正をするとなったときに、ひとつひとつの条件を見合わせる必要があるため、修正に時間がかかります。自分が作成したデータをだれかに修正してもらうことになったとき、その人の仕事を増やしてしまうことでしょう。
また、エクセルのバージョンによっては、使用できるネストの数(これを『ネストレベル』と呼びます)が決まっている場合もあり、ネストをたくさん増やすとエラーになってしまうことがあるので、注意が必要です。AND関数やOR関数を覚えていれば、見た目もスッキリさせられますし、条件を増やすなど修正するとなったときにもすぐに対応できます。エクセルでの作業を効率よくしたいという方は、ぜひ覚えておくとよいでしょう。エクセルで関数計算をするときにきっと役に立ちますよ。