COUNTIFS関数で検索条件範囲を複数列、連続/飛び飛びで
ここでは、COUNTIFS関数で検索条件範囲を複数列指定する方法を解説します。
複数列と言っても、その範囲が連続している場合と飛び飛びの場合の2パターンあるので、それぞれ説明します。
1.まずは複数範囲のパターンを確認
まずは、複数範囲のパターンから確認します。
複数範囲と言っても、範囲が「連続している場合」と「飛び飛びの場合」の2パターンあるため、それぞれ見てみます。
1-1.範囲が「連続」している場合
始めに「範囲が連続している場合」からです。
上の表は、試験結果の一覧です。授業ごとの試験結果が3人の生徒分入力されています。
この表から「すべてのテスト結果のうち、テスト結果が35点以上75点以下の数」を知りたい時、カウントしたい範囲は「連続している」状態です。
一つ目のパターンである「範囲が連続している」とは、このような状態のことを言います。
また、次のような形も「連続している」と言えます。
カウントしたい範囲は「飛び飛び(B、D、F列)」ですが、その間の列は「授業名」となっていて、条件値にヒットしそうな値は入りそうにありません。
このような場合にも、COUNTIFS関数で「連続した範囲」の数え方をしても問題はないと言えます。
1-2.範囲が「飛び飛び」の場合
次に、2つ目のパターンである「範囲が飛び飛びの場合」を見てみます。
先ほどと元の表は同じだったとしても、例えば「生徒AとCだけカウント対象にしたい」といった場合には、「範囲が飛び飛び」となります。
なぜなら、間には数える対象にはしたくない「生徒Bの結果」があるからです。
このように、「間に条件値にヒットしそうな列がある」場合には、「範囲を飛び飛びで指定」する必要があります。
2.複数列をカウントできる数式は
次に、複数列をカウントできるCOUNTIFS関数を使った数式を、「連続」の場合と「飛び飛び」の場合のそれぞれで確認します。
2-1.範囲が連続の場合
まずは、検索対象範囲が「連続」の場合からです。
先ほどの表から、例えば「生徒A、B、Cの『35点以上75点以下』の数をカウント」したい時、数式は次のようになります。
=COUNTIFS(B5:D9,">=35",B5:D9,"<=75")
つまり、COUNTIFS関数の引数「検索条件範囲」を複数列で指定するだけでOKです。
ちなみに、2つ目の例の表でも同様です。
このように間に列が入っていても、カウントに影響がないのであれば、複数範囲指定すればいいということです。
2-2.範囲が飛び飛びの場合
次に、検索対象範囲が「飛び飛び」の場合です。
先ほどの表から、例えば「生徒A、Cの『35点以上75点以下』の数をカウント」したい時、数式は次のようになります。
=COUNTIFS(B5:B9,">=35",B5:B9,"<=75")+COUNTIFS(F5:F9,">=35",F5:F9,"<=75")
つまり、COUNTIF(S)関数を使った数式を足せばよいということです。
COUNTIFS関数では、飛び飛びの範囲を指定できる仕様にはなっていないので、このようにします。
分かると単純ですね。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
COUNTIFS関数に関連したページは、次の通りです。。
- COUNTIFS関数 使いこなすためのポイントはこちら