
IF 関数は、条件によって表示を変えることができる便利な関数ですが、条件を複数指定する場合は非常に複雑な式になってしまい、見直しや変更するときなど大変な手間がかかってしまいます。
そんなときは、「論理関数」と呼ばれる3つの関数が大活躍します。
今回は、IF 関数と AND 関数 や OR 関数、NOT 関数などを組み合わせて条件分岐させる方法をご紹介していきます。
なお、当サイトでは Excel ではなく Numbers を使って解説しています。
目次
3つの 論理関数
論理関数とは、ある条件が満たされているかどうかを判定するための関数で、結果は基本的に TRUE(真)または FALSE(偽)で返されます。 そのため、論理関数の多くは単独よりも他の関と組み合わせて使うことで効力を発揮するものが多くあります。
ここでは、IF 関数と組み合わせてよく使われる3つの論理関数とその式の書き方について解説していきます。
AND 関数 | すべての条件が「真」かどうかを判定 |
OR 関数 | 複数の条件のうち、どれか1つでも満たしているかどうかを判定 |
NOT 関数 | 条件が満たされた場合にそれを「偽」とする または、条件が満たされていない場合にそれを「真」とする |
IF 関数 と AND 関数
AND 関数は「なおかつ」を表し、これと IF 関数 を組み合わせると、
「もし〜で なおかつ 〜ならば」
と、条件をすべて満たしているかどうかを判定してくれます。
ここでは、「3科目すべてが70点以上で合格」という条件で式を書いてみます。

Step 1
セルにカーソルを合わせ、「= IF」と入力するか、「挿入」メニューから「新規数式」を選択します。

「論理と情報」から IF を選択するか、検索窓に「IF」と入力しても探すことが出来ます。「関数を挿入」をクリックします。

Step 2 式の書き方
IF 関数は、「= IF ( 条件式 , 値が真の場合 , 値が偽の場合 )」ですね。
IF 関数の条件式に AND 関数 を入れ子にし、それぞれのセルに「>=70」を指定していきます。
テキストを表示させる場合はダブルクオーテーション「“」で囲みます。
= IF ( AND ( C2>=70, D2>=70 , E2>=70 ), “合格“, “不合格” )

Step 3
Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。

入力結果
指定した条件の通りになっているか確認しましょう。

IF 関数 と OR 関数
OR 関数は「または」を表し、これと IF 関数 を組み合わせますと、
「もし〜で または 〜ならば」
と、いずれかの条件を満たしているかどうかを判定してくれます。
ここでは、「購入する商品によって異なる特典を付与する」という条件で式を書いてみます。

式の書き方
IF 関数は、「= IF ( 条件式 , 値が真の場合 , 値が偽の場合 )」ですね。
① | IF 関数 に AND 関数を入れ子にし、「商品A」と「商品B」を両方購入した場合に「商品券」と表示されるようにする |
② | 1. の「偽の場合」としてさらに IF 関数を指定し、OR 関数で「商品A」と「商品B」のいずれかを購入した場合に「ランチ無料券」と表示されるようにする |
③ | 2. の「偽の場合」として、何も購入していない場合には「特典なし」と表示されるようにする |
テキストを表示させる場合はダブルクオーテーション「”」で囲みます。
= IF ( AND ( B2=”○”, C2=”○” ) , “商品券“, IF ( OR ( B2=”○”, C2=”○” ) , “ランチ無料券” , “特典なし” ) )


Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。

入力結果
指定した条件の通りになっているか確認しましょう。

IF 関数 と NOT 関数
NOT 関数は「〜ではない」を表し、これと IF 関数 を組み合わせると、
「もし〜でないならば」
のように、条件を満たしていない場合に True(真)の値を返します。
ここでは、「筆記試験と口述試験が合計140点以上ではない場合に再テスト」という条件で式を書いてみます。

式の書き方
IF 関数は、「= IF ( 条件式 , 値が真の場合 , 値が偽の場合 )」ですね。
1. | IF 関数 に NOT 関数を入れ子にし、「筆記試験」と「口述試験」の合計が140点に満たなければ「再テスト」と表示されるようにする |
2. | 1. の「偽の場合」として140点以上であれば「合格」と表示されるようにする |
テキストを表示させる場合はダブルクオーテーション「“」で囲みます。
= IF ( NOT ( C3+D3>140 ) , “再テスト“, “合格” )

Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。

入力結果
指定した条件の通りになっているか確認しましょう。
