メインコンテンツへスキップ

ExcelでAND、OR、NOTと共にIF関数を使用する方法は?

Author: Kelly Last Modified: 2025-08-06

ExcelのIF関数は、データ処理における論理計算の力と多様性を示すものです。IF関数の本質は、条件を評価し、その評価に基づいて特定の結果を返す能力にあります。これは基本的な論理に基づいて動作します。

=IF(condition, value_if_true, value_if_false)

AND、OR、NOTのような論理演算子と組み合わせると、IF関数の能力は大幅に拡張されます。これらの組み合わせの力は、複数の条件を同時に処理し、さまざまな複雑なシナリオに適応できる結果を提供することにあります。このチュートリアルでは、Excelでこれらの強力な関数を効果的に活用し、新しいデータ分析の次元を開き、意思決定プロセスを強化する方法を探ります。それでは、これらの強力なExcel関数の実用的な応用を発見しましょう!

A screenshot showing a nested Excel formula combining IF, AND, OR, and NOT for bonus eligibility calculations


IF AND 数式

複数の条件を評価し、すべての条件が満たされた場合(TRUE)に特定の結果を返し、いずれかの条件が満たされない場合(FALSE)に異なる結果を返すために、IF文の論理テスト内にAND関数を組み込むことができます。その構造は次のとおりです。

=IF(AND(condition1, condition2, …), value_if_all_true, value_if_any_false)

例えば、教師が学生の成績を分析していると想像してください。学生が「70点以上のスコア」AND「出席率80%以上」で合格するかどうかを判断したいとします。

  1. 最初の学生のデータを調べ、スコアがセルB2に、出席率がセルC2にあるとします。この学生に対して、以下の数式をD2に適用します。
    =IF(AND(B2>70, C2>80%), "Pass", "Fail")
    ヒント:この数式は、B2のスコアが70以上であり、C2の出席率が80%以上であるかどうかを確認します。両方の条件が満たされると「合格」を返し、そうでない場合は「不合格」を返します。
  2. 数式を列に沿ってドラッグして、各学生のスコアと出席率を評価します。

IF OR 数式

複数の条件を評価し、いずれかの条件が満たされた場合(TRUE)に特定の結果を返し、条件がすべて満たされない場合(FALSE)に異なる結果を返すために、IF文の論理テスト内にOR関数を使用できます。数式の構造は次のとおりです。

=IF(OR(condition1, condition2, …), value_if_any_true, value_if_all_false)

例えば、教育の文脈で、学生の合格基準をより柔軟に考えてみましょう。ここでは、学生が「90点以上のスコア」または「出席率95%以上」で合格と見なされます。

  1. 最初の学生の成績を評価し、スコアがセルB2に、出席率がセルC2にあるとします。評価するために、隣接するセル、例えばD2に数式を適用します。
    =IF(OR(B2>90, C2>95%), "Pass", "Fail")
    ヒント:この数式は、セルB2のスコアが90以上であるか、セルC2の出席率が95%以上であるかを確認します。いずれかの条件が満たされると「合格」を返し、そうでない場合は「不合格」を返します。
  2. この数式を列にコピーして、リスト内の各学生に適用し、これらの基準に基づいて各学生の合格資格を迅速に評価します。

IF NOT 数式

条件を評価し、条件が満たされない場合(FALSE)に特定の結果を返し、条件が満たされた場合(TRUE)に異なる結果を返すために、IF文内でNOT関数を使用します。数式の構造は次のとおりです。

=IF(NOT(condition), value_if_false, value_if_true)

実用的な例として、従業員のボーナスが出席記録に基づいて決定される職場のシナリオを考えてみましょう。従業員は「3日以上欠勤していない」場合にボーナスの対象となります。

  1. 最初の従業員の欠勤日数がセルB2にあるとき、次の数式を使用して評価します。
    =IF(NOT(B2>3), "Eligible", "Not Eligible")
    ヒント:この数式はB2の欠勤日数を確認します。3日を超えていない場合、「対象」と返し、そうでない場合は「対象外」と返します。
  2. この数式を列にコピーして、各従業員に適用します。

IFと論理関数を用いた高度なシナリオ

このセクションでは、ExcelのIF関数をAND、OR、NOTのような論理演算子と組み合わせて使用する複雑な方法を探ります。このセクションでは、大文字小文字を区別する評価からネストされたIF文まで、Excelの複雑なデータ分析における多様性を紹介します。


条件が満たされた場合、計算する

ExcelのIF関数は、事前に定義された結果を提供するだけでなく、AND、OR、NOTのような論理演算子と組み合わせることで、設定された条件が真か偽かに基づいてさまざまな計算を実行できます。ここでは、IF ANDの組み合わせを例にして、この機能を紹介します。

あなたが営業チームを管理していて、ボーナスを計算したいと想像してください。従業員が「売上が100ドルを超え」AND「週に30時間以上働いている」場合に「売上の10%のボーナスを受け取る」と決定します。

  1. 最初の評価として、アリスのデータを見て、彼女の売上がセルB2に、働いた時間がセルC2にあるとします。この数式をD2に適用します。
    =IF(AND(B2>100, C2>30), B2*0.1, 0)
  2. この数式を列にコピーして、チーム全体に適用します。このアプローチにより、各従業員のボーナスが同じ基準に基づいて計算されることが保証されます。

注:このセクションでは、特定の条件に基づいて計算を行うためにIF関数をANDと共に使用することに焦点を当てています。この概念は、ORやNOT、さらにはネストされた論理関数を含めることにも拡張でき、Excelでさまざまな条件付き計算を可能にします。


大文字小文字を区別するAND、OR、NOT文

Excelでは、AND、OR、NOTのような論理関数は通常、大文字小文字を区別しませんが、テキストデータのケースセンシティブが重要なシナリオがあります。これらの論理演算子とEXACT関数を統合することで、ケースセンシティブな条件を効果的に処理できます。このセクションでは、ケースセンシティブなアプローチを例として、IFとOR関数の使用を示します。

小売シナリオを想像してみてください。製品が「売上が100ドルを超える」または「コードがケースセンシティブなチェックで正確に"ABC"と一致する」場合にプロモーションの対象となります。

  1. 最初の製品が行2にリストされており、その売上がセルB2に、製品コードがセルC2にある場合、この数式をD2に使用します。
    =IF(OR(B2>100, EXACT(C2,"ABC")), "Promotion Eligible", "Not Eligible")
    ヒント:この数式は、B2の売上が100ドルを超えているか、C2の製品コードが正確に"ABC"であるかを評価します。これらの条件のいずれかを満たすと、製品はプロモーションの対象となり、両方を満たさない場合は対象外となります。
  2. この数式を列全体に複製して、すべての製品のプロモーション対象を売上とケースセンシティブな製品コード基準に基づいて一様に評価します。

注:このセクションでは、ケースセンシティブな評価のためにEXACT関数を使用したIFとOR関数の使用を示しました。同様に、IF数式にAND、OR、NOT、またはネストされた論理関数と組み合わせてEXACT関数を適用し、Excelで多様なケースセンシティブな要件を満たすことができます。


IFとネストされたAND、OR、NOT文の統合

ExcelのIF関数は、AND、OR、NOTとネストすることで、より層のある条件を処理するための効率的なアプローチを提供します。このセクションでは、小売設定でのこれらのネストされた関数の適用例を紹介します。

さまざまな製品カテゴリを担当するチームを監督していると仮定し、ボーナスの対象となるかどうかを判断したいとします。従業員は、「売上が100ドルを超える」AND「週に30時間以上働く」または「電子機器部門に所属していない」場合にボーナスの対象となります

  1. まず、アンの業績を評価し、彼女の売上がセルB2に、働いた時間がセルC2に、部門がセルD2にあるとします。E2の数式は次のようになります。
    =IF(AND(B2>100, OR(C2>30, NOT(D2="Electronics"))), "Eligible", "Not Eligible")
    ヒント:この数式は、アンが100ドルを超える売上を達成し、30時間以上働くか、電子機器部門で働いていないかを確認します。これらの基準を満たす場合、「対象」と見なされ、そうでない場合は「対象外」とされます。
  2. この数式を列にコピーして、各従業員の売上、働いた時間、部門を考慮してボーナスの対象を一様に評価します。

AND、OR、NOTを用いたネストされたIF関数

データ分析に複数の条件チェックが含まれる場合、ExcelのネストされたIF関数は強力な解決策を提供します。この方法は、AND、OR、NOTロジックを含む個別のIF文を構築し、それらを1つの効率的な数式に統合することを伴います。

従業員のパフォーマンスが売上、働いた時間、ポリシーの遵守に基づいて「優れた」「良い」「通常値」と評価される職場を考えてみましょう。

  • 売上が150ドルを超え、35時間以上働いた場合は「優れた」。
  • それ以外の場合、売上が100ドルを超えるか、ポリシー違反が1を超えない場合は「良い」。
  • これらの条件のいずれも満たされない場合は「通常値」。

上記の条件に従って各従業員のパフォーマンスを評価するには、次のようにしてください。

  1. アンの評価から始め、彼女の売上がセルB2に、働いた時間がセルC2に、ポリシー違反がセルD2にあるとします。E2のネストされたIF数式は次のとおりです。
    =IF(AND(B2>150, C2>35), "Excellent", IF(OR(B2>100, NOT(D2>1)), "Good", "Fair"))
    ヒント:この数式はまず、アンの売上と時間が「優れた」の基準を満たしているかを確認します。そうでない場合、「良い」に該当するかどうかを評価します。どちらの条件も満たされない場合、彼女は「通常値」と分類されます。
  2. このネストされたIF数式を各従業員に拡張して、複数の基準に基づいて一貫してパフォーマンスを評価します。

AND、OR、NOTを用いたIFの使用:よくある質問

このセクションは、Microsoft ExcelでAND、OR、NOTと共にIFを使用する際のよくある質問に答えることを目的としています。

AND、OR、NOT関数は何個の条件をサポートできますか?
  • ANDおよびOR関数は最大255個の個別の条件をサポートできます。ただし、あまりにも複雑な数式を避けるために、少数の条件を使用することをお勧めします。
  • NOT関数は1つの条件のみを受け入れます。
これらの関数で<、>、=のような演算子を使用できますか?

もちろん、ExcelのAND、OR、NOT関数では、条件を設定するために小なり(<)、大なり(>)、等しい(=)、以上(>=)などの演算子を利用できます。

これらの関数で#VALUEエラーが発生するのはなぜですか?

ExcelのAND、OR、NOT関数で#VALUEエラーが発生するのは、数式が指定された条件を満たしていない場合や、数式の構造に問題がある場合が多いです。これは、Excelが入力や数式内の条件を正しく解釈できないことを示しています。


上記は、ExcelでAND、OR、NOT関数と共にIFを使用することに関連するすべての内容です。このチュートリアルが役立つことを願っています。さらにExcelのヒントやトリックを探している場合は、こちらをクリックして、数千のチュートリアルの広範なコレクションにアクセスしてください。