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
ロジックに従って詳しく説明した数式を次に示します。
| 数式 | 説明 |
|---|---|
| =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 ("青") が "赤" に等しい場合、または B5 ("緑") が "緑" に等しい場合は 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
ロジックに従って詳しく説明した数式を次に示します。
| 数式 | 説明 |
|---|---|
| =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 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。