エクセル実践塾 > エクセル実践塾2013

COUNTIFS関数の使えない2007より前のExcelでも利用できる表を作りたい

 

COUNTIFS関数と同等の、配列数式を利用する方法があります

COUNTIFS関数は、Excel 2007で初めて搭載された関数なので、それ以前のExcelでは利用できません。

たとえば、特定グループ化での順位を求めるCOUNTIFS関数式などは、2007より前のExcelでは機能しません。

代わりに、その前から用意されている配列数式を利用する方法があります。

Excel 2013/2010/2007以前

 

@COUNTIFS関数を使うと、特定グループ化での順位を求めることができます

 

Aまず、COUNTIF関数による、RANK関数と同等の順位を求める数式を、配列数式で実現してみます

 

 

BSUM関数を使って、個数の計算を行います

 

C全体の評価値と、個人の評価値を比較する条件式を、半角の括弧で囲んで指定します

 

 

D条件式の結果は論理値となるので、1を乗算して、SUM関数で合計できる数値に直します

 

E順位を求めるための1を加算します

FCtrl+Shift+Enterキーを押して、配列数式として確定します

配列数式にすると、条件式で指定したセル範囲のそれぞれに対して、セル値の比較が行われ、その真偽が求められます。真である場合には論理値1が、偽である場合には論理値0が得られるので、SUM関数によるそれらの合計は、COUNTIF関数によるそれと同等の結果となります。

G配列数式はコピーして、他のセルにも適用できます

H条件を追加する場合には、その条件式を半角の括弧で囲んで指定し、既存の条件式との乗算を行います

条件式と条件式の乗算は、それぞれの結果である論理値との乗算となります。双方が真(論理値1)の場合のみ1となり、いずれかが偽(論理値0)の場合には0となります。いわゆるAND条件となり、双方の条件に該当するセル数がSUM関数によって求められるようになります。

このような論理値の乗算や加算の考え方については、「条件式(論理式)の考え方」→「論理値 TRUE=1、FALSE=0」でくわしく解説しているので、よろしければ参考にしてください。

 

関連する他のページ

並べ替えないで、勝ち数による順位を知りたい
RANK関数を使えば、並べ替えることなく順位がわかります

合計点での順位を求めたい
RANK関数を使うと、全体における順位を求めることができます

「上から数えて○番目以内」を判定するときには、LARGE関数やRANK関数を使う
LARGE関数では上から○番目の値を求められ、RANK関数では上から○番目かがわかります

直近2カ月の営業成績のいずれかが上位5位以内の人を強調する
RANK関数での判定結果を加算することで、1度でも上位5位以内に入った人がわかります

特定の値以上のセルの個数を常に確認したい
COUNTIF関数を使えば、条件に合致するセルの個数を表示できます

COUNTIF関数を使って、祝祭日や休業日のリストと、日付を照合する
あらかじめ祝祭日や休業日のリストを用意し、COUNTIF関数で日付との照合を行います

特定のデータが入力されているセルの数を知りたい
COUNTIF関数を使えば、指定データの入力されているセルの数がわかります

指定色で塗りつぶされているセルの個数を求めたい
塗りつぶし色を数値で表すユーザー定義関数を作れば、数式で求めることができます

一覧に含まれるデータが入力されたときに、条件付き書式で強調する
COUNTIF関数を使った条件式で、条件付き書式を設定します

一つおきのセルの値を合計したい
配列数式を使えば、特殊な条件に合致するセルの値だけを合計することができます

マス計算を簡単に行いたい
交差するセルで、項目値の計算結果を求めたいときには、Ctrl+Shift+Enterキーで配列数式にします

論理値を乗算し、AND条件として使う
論理値の乗算では、1(TRUE)のみであるときにだけ、1(TRUE)となります

空欄の含まれる行を強調する
複数のセルを同じ条件で評価する場合には、SUMPRODUCT関数が便利です