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」を見つけます。数式の詳細を見ていきましょう。
A2:A6= $F$2
は、範囲A2からA6のセルとF2のセルを比較して、一致するものがある場合に真を返します。B2:B6= $G$2
は、範囲B2からB6のセルとG2のセルを比較して、一致するものがある場合に真を返します。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」
コメント