IF関数は、Excelで利用頻度が高い関数です。IF関数のみでも便利に使えますが、「AND」や「OR」、「NOT」関数を組み合わせることで、よりシンプルでわかりやすい数式を設定できます。今回はAND、OR、NOT関数の基本的な使い方を確認しましょう。

本連載では、「よく使うけど忘れやすいMicrosoft Officeの操作」をキーワードに、Officeアプリケーションの使い方を解説していきます。記事の制作には、執筆時点で最新の状態にアップデートしたMicrosoft Office 2016を使用しています

IF関数とセットで使いたいAND、OR、NOT関数

IF関数と組み合わせることで、値の条件付けを容易にするのがAND関数、OR関数、NOT関数です。これらの関数で設定できる条件付けは、基本的にIF関数だけでも記述できますが、数式が複雑化しがちなので、AND、OR、NOT関数を組み合わせるのが効率的な方法といえます。

複数条件のすべてを満たすと、真(True)の値を返す「AND」

まずは、指定した複数の条件すべてを満たした場合に、真(True)の値を返すAND関数の使い方を確認します。今回は検定試験の結果表を例に、1回目と2回目の得点がどちらも「80」以上であるという条件で数式を作成していきます。

  • 数式を入力したいセル(画面の例ではD2)を選択して、数式バーに「=IF(」と入力します

  • 続けて「AND(」と入力してB2セルをクリックし、「>=80」と入力して「B2セルの数値(1回目の検定得点)が80以上」という条件を設定します

  • 「,」(カンマ)で区切って、「C2>=80」と入力して「C2セルの数値(2回目の検定得点)が80以上」という2つ目の条件を設定しカッコで閉じます

  • さらにカンマで区切って、「=IF(AND(B2>=80,C2>=80),"クリア","再テスト")」と入力し、「2つの条件を満たしている場合に真(True)の値である「クリア」、両方またはどちらかの条件を満たしていない場合に「再テスト」と表示させる数式を完成させます

  • [Enter]キーで確定させると、B2セルが条件を満たしていないため「再テスト」と表示されました

  • 数式を設定したD2セル右下のフィルハンドルを下にドラッグし、D3~D5セルにも適用させます

  • B3とC3のどちらも条件(80以上)を満たしているD3セルのみに「クリア」と表示されました

複数条件のいずれかを満たすと、真(True)の値を返す「OR」

続いて、複数の条件を設定して、そのいずれかを満たす場合に真(True)の値を返すOR関数の使い方を確認します。基本的な使い方はAND関数と同じで、今回の例では1回目と2回目の検定得点のいずれかが「80」以上であるという条件で数式を作成しています。

  • 数式を入力したいセル(D2)を選択して、数式バーに「=IF(OR(」と入力します

  • 条件を設定して「=IF(OR(B2>=80,C2>=80),"クリア","再テスト")」という数式を入力していきます。OR関数では、2つの条件の片方を満たしていれば真(True)となります

  • [Enter]キーで数式を確定すると、C2の値が条件を満たしているため「クリア」と表示されました

  • D3~D5に数式をコピーすると、AND関数のときとは異なりD5にも「クリア」が表示されます(C5セルが条件を満たしているため)

設定した条件に合致しないと、真(True)の値を返す「NOT」

最後に、ANDやORとは逆に、指定した条件に合致しない場合に真(True)の値を返すNOT関数の使い方を確認します。今回は1回目と2回目の得点を足した値が「150以上ではない(NOT)」場合に、真の値である「再検定」を返す数式を作成しています。IF関数とAND、OR、NOT関数を組み合わせて数式を作成することで、複雑な条件式を設定できます。いろいろと試してみてください。

  • 数式を入力したいセル(D2)を選択して数式バーに「=IF(NOT(B2+C2>=150),"再検定","クリア")」と入力します

  • [Enter]キーで確定させると、B2(78)+C2(83)で「161」となり、NOT関数で指定した条件を満たさないため「クリア」と表示されます

  • D3~D5に数式をコピーすると、「2つのセルの合計値が150以上ではない」という条件を満たすD4セルのみ真の値となる「再検定」が表示されました