Index Match関数を使用して、3つ以上の条件を組み合わせる方法

Index Match関数を使用して、3つ以上の条件を組み合わせる方法について説明します。次の例を使用して、手順を示します。

例として、以下のようなデータがあるとします。

A B C D
Name Category Score Grade
Alice Math 85 A
Bob Science 75 B
Alice Science 90 A
Bob Math 80 A
Alice Geography 70 B

これから、「Name」が”Bob”、”Math”の「Category」で「Score」が80以上の「Grade」を見つけるために、Index Match関数を使用します。

まず、以下のようなセルに条件を入力します。

F G H I
Name Category Score Grade
Bob Math 80

次に、結果を表示するセルに、Index Match関数を使用します。例えば、セル J2 に次の式を入力します。

=INDEX(D2:D6, MATCH(1, (A2:A6= $F$2) * (B2:B6= $G$2) * (C2:C6>= $H$2), 0))

この式は、条件に一致する「Grade」を見つけます。数式の詳細を見ていきましょう。

  1. A2:A6= $F$2は、範囲A2からA6のセルとF2のセルを比較して、一致するものがある場合に真を返します。
  2. B2:B6= $G$2は、範囲B2からB6のセルとG2のセルを比較して、一致するものがある場合に真を返します。
  3. C2:C6>= $H$2は、範囲C2からC6のセルとH2のセルを比較して、80以上の値を持つセルに真を返します。

これらの条件をすべて満たすセルには真が返され、それ以外のセルには偽が返されます。

次に、MATCH(1, (A2:A6= $F$2) * (B2:B6= $G$2) * (C2:C6>= $H$2), 0)は、条件に一致する最初の真の値がある行のインデックスを返します。

最後に、INDEX(D2:D6, MATCH(1, (A2:A6= $F$2) * (B2:B6= $G$2) * (C2:C6>= $H$2), 0))は、条件に一致する最初の真の値の「Grade」

コメント