複雑な条件を数式で表現する


スポンサードリンク


条件が1つのケース 条件が2つのケース
条件が3つのケース 関数を使った条件式を作成する

条件が1つのケース       Topへ

条件が2つのケース       Topへ

条件が3つのケース       Topへ

関数を使った条件式を作成する       Topへ

  1. 国語、数学、英語のいずれかが50以上という条件の場合
    「国語が50以上」OR「数学が50以上」OR「英語が50以上」という具合になります。
    =OR(D2>=50,E2>=50,F2>=50) と書くことができます。
    論理式は =(D2>=50)+(E2>=50)+(F2>=50) とすることができます。

    または、1科目でも50以上であると考えることができます。
    すると、Countif関数を使って、=COUNTIF(D2:F2,">=50")>=1 と条件式を書くことができます。
    下図のように同じ結果が得られることがわかります。
  2. 1と2と3の部分を求めたいときは?
    作業列1〜3の和を求めればよいので、K2セルには単純に =H2+I2+J2 と入力すればよいと思います。
    しかし、 1つの式にすると =(D2>=50)*(E2<50)*(F2<50)+(E2>=50)*(D2<50)*(F2<50)+(F2>=50)*(D2<50)*(E2<50) と長くなってしまいます。
    こういったケースでは、視点をちょっと変えて、1,2,3の部分は「1科目だけが50以上である」ということだとも考えることができます。
    すると、Countif関数を使って条件を書くことができます。L2セルには =COUNTIF(D2:F2,">=50")=1 と入力しています。
    下図を見ると同じ結果が得られたのがわかると思います。
  3. 4と5と6の部分を求めたいときは?
    作業列4〜6の和を求めればよいので、K2セルには単純に =H2+I2+J2 と入力すればよいと思います。
    しかし、 1つの式にすると =(D2>=50)*(E2>=50)*(F2<50)+(E2>=50)*(F2>=50)*(D2<50)+(D2>=50)*(F2>=50)*(E2<50) と長くなってしまいます。
    4,5,6の部分は2科目が50以上で、3科目がすべて50以上を除く部分と考えることができます。
    すると、=AND(COUNTIF(D2:F2,">=50")=2,NOT(COUNTIF(D2:F2,">=50")=3)) といった条件式を考えました。
    下図を見ると同じ結果が得られたのがわかると思います。

スポンサードリンク


Homeエクセルの使い方の目次|複雑な条件を数式で表現する