Excel では、IF 関数を使用すると、条件をテストし、その条件が True または False の場合に結果を返すことで、値と予想される内容を論理的に比較できます。
-
=IF(条件が True であればある処理を行い、それ以外の場合は別の処理を行う)
しかし、複数の条件をテストする必要がある場合、たとえば、すべての条件を True または False (AND) にする必要がある場合、または 1 つの条件のみを True または False (OR) にする必要がある場合、または条件が条件を満たしていない場合にチェックする場合はどうなりますか? 3 つの関数はすべて単独で使用できますが、IF 関数と組み合わせて表示する方がはるかに一般的です。
IF 関数を AND、OR、NOT 関数とともに使用して、条件が True または False かどうか複数の評価を実行します。
構文
-
IF(AND()) - IF(AND(logical1, [logical2], ...), value_if_true, [value_if_false]))
-
IF(OR()) - IF(OR(logical1, [logical2], ...), value_if_true, [value_if_false]))
-
IF(NOT()) - IF(NOT(logical1), value_if_true, [value_if_false]))
引数名 |
説明 |
|
logical_test (必須) |
テストする条件 |
|
value_if_true (必須) |
logical_test の結果が TRUE の場合に返す値 |
|
value_if_false (オプション) |
logical_test の結果が FALSE の場合に返す値 |
|
ここでは、AND、OR、NOT 関数を個別に構成する方法の概要を説明します。 これらをそれぞれ IF ステートメントと結合すると、次のようになります。
-
AND – =IF(AND(条件が True の場合,別の条件が True の場合),True の場合に返す値,False の場合に返す値)
-
OR – =IF(OR(条件が True の場合,別の条件が True の場合),True の場合に返す値,False の場合に返す値)
-
NOT – =IF(NOT(条件が True の場合),True の場合に返す値,False の場合に返す値)
例
Excel の一般的な入れ子になった IF(AND()、IF(OR()) ステートメント、IF(NOT()) ステートメントの例を次に示します。 AND および OR 関数は、最大 255 の個別の条件をサポートできますが、複雑な入れ子になった数式は、構成、テスト、および維持が非常に困難になるため、あまりたくさん使用することはお勧めできません。 NOT 関数では、1 つの条件しか使用できません。
以下に、数式をそのロジックに従って説明します。
数式 |
説明 |
---|---|
=IF(AND(A2>0,B2<100),TRUE, FALSE) |
A2 (25) が0 より大きく、B2 (75) が 100 未満の場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、両方の条件が True なので、TRUE が返されます。 |
=IF(AND(A3="Red",B3="Green"),TRUE,FALSE) |
A3 ("Blue") が "Red" で、B3 (“Green”) が “Green” の場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、最初の条件だけが True なので、FALSE が返されます。 |
=IF(OR(A4>0,B4<50),TRUE, FALSE) |
A4 (25) が0 より大きいか、B4 (75) が 50 未満の場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、最初の条件だけが True ですが、OR は 1 つの引数だけが True になればよいため、数式は TRUE を返します。 |
=IF(OR(A5="Red",B5="Green"),TRUE,FALSE) |
A5 ("Blue") が “Red”、または B5 (“Green”) が “Green” の場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、2 番目の引数が True なので、数式は TRUE を返します。 |
=IF(NOT(A6>50),TRUE,FALSE) |
A6 (25) が 50 より大きくない場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合、25 は 50 より大きくないため、数式は TRUE を返します。 |
=IF(NOT(A7="Red"),TRUE,FALSE) |
A7 ("Blue") が "Red" と等しくない場合、TRUE を返し、それ以外の場合は FALSE を返します。 |
すべての例には、それぞれの条件を入力した後に右かっこがあることにご注意ください。 残りの True または False の引数は、外側の IF ステートメントの一部として残されます。 例で返される TRUE または FALSE の値は、テキストまたは数値で置き換えることもできます。
AND、OR、NOT 関数を使用して日付を評価する例を以下に示します。
以下に、数式をそのロジックに従って説明します。
数式 |
説明 |
---|---|
=IF(A2>B2,TRUE,FALSE) |
A2 が B2 より大きい場合は TRUE を返し、それ以外の場合は FALSE を返します。 03/12/14 は 01/01/14 よりも大きいため、数式は TRUE を返します。 |
=IF(AND(A3>B2,A3<C2),TRUE,FALSE) |
A3 が B2 より大きく、A3 が C2 よりも小さい場合は、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、両方の引数が True なので、数式は TRUE を返します。 |
=IF(OR(A4>B2,A4<B2+60),TRUE,FALSE) |
A4 が B2 より大きいか、A4 が B2 + 60 よりも小さい場合は、TRUE を返し、それ以外の場合は FALSE を返します。 この場合は、最初の引数は True ですが、2 番目の引数は False です。 OR は 1 つの引数が True であればよいため、数式は TRUE を返します。 [数式] タブから数式の検証ウィザードを使用すると、Excel で数式がどのように評価されるかがわかります。 |
=IF(NOT(A5>B2),TRUE,FALSE) |
A5 が B2 より大きくない場合、TRUE を返し、それ以外の場合は FALSE を返します。 この場合、A5 は B2 より大きいため、数式は FALSE を返します。 |
Excel での条件付き書式での AND、OR、NOT の使用
Excel では、AND と OR と NOT を使用して、数式オプションを使用して条件付き書式の条件を設定することもできます。 この設定では、IF 関数を省略して AND、OR、NOT を単独で使用できます。
Excel の [ ホーム ] タブで、[ 条件付き書式] > [新しい規則] をクリックします。 次に、[数式を使用して、書式設定するセルを決定] オプションを選び、数式を入力し、選択した書式を適用します。
前述の日付の例を使用して、数式がどのようになるかを以下に示します。
数式 |
説明 |
---|---|
=A2>B2 |
A2 が B2 よりも大きい場合は、セルを書式設定し、それ以外の場合は何もしません。 |
=AND(A3>B2,A3<C2) |
A3 が B2 よりも大きく、A3 が C2 よりも小さい場合は、セルを書式設定し、それ以外の場合は何もしません。 |
=OR(A4>B2,A4<B2+60) |
A4 が B2 よりも大きいか、A4 が B2+60 (日) よりも小さい場合は、セルを書式設定し、それ以外の場合は何もしません。 |
=NOT(A5>B2) |
A5 が B2 よりも大きくない場合は、セルを書式設定し、それ以外の場合は何もしません。 この場合は、A5 が B2 より大きいため、結果は FALSE を返します。 数式を =NOT(B2>A5) に変更すると、TRUE を返してセルが書式設定されます。 |
注: よくあるエラーは、条件付き書式に等号 (=) を付けずに数式を入力することです。 これを行うと、[条件付き書式] ダイアログで、等号と引用符が数式に追加され、="OR(A4>B2,A4<B2+60)" となるため、数式が正しく機能するためには、引用符を削除する必要があります。
補足説明
関連項目
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。