excelでリストから条件に該当するものを検索し、その個数を求める

countif IT

リストにずらりと並んだ商品名や所属部署。一体うちの会社ではどこの県に何人部下がいて、そのうち何人が今日は出勤してるのか、そうした情報もexcelで簡単に求めることができます。

Advertisements

countifで条件付きの数を数える

たとえば次のような出勤表があるとします。

countif

11/1~20日までの勤怠状況


ちょっと風邪気味で休みがちのAさんは、おおまかに自分の出勤情報を確認したいと考えました。
そこで表に書き出してみたのですが、いちいち指で数えるのではなく、毎月、毎年単位でも計測できるようにしたいと考えています。
そこで使うのがCountif関数です。

=countif(検索範囲:条件)

たとえば上の表で言うと、B2からB21までのステータス(範囲)を、「出勤」や「遅刻」といった条件で絞り込みすれば、条件にかなったものだけを反映してくれます。

countif2

隣のセルの条件に該当するセルの数を数える


(数字やアルファベットの前に$をつけることで、他のセルにドラッグやコピペをしても値が変動しなくなります)
一目瞭然ですね。もし日数が下に伸びても、検索範囲をそれに合わせて伸ばしていけばOKです。

複数の条件を課したい場合

Countifは1つの条件のみを課す関数で、これだけでもif文と組み合わせることで複数の条件を課すことはできますが、excel2007以降であれば最初から複数の条件を盛り込めるCountifs関数というものもあります。

=countifs(検索範囲:条件,検索範囲:条件…)

要するに,でつないで後ろに追加していくだけです。

countifs

countifsは範囲と条件が1つしかなくてもOK


条件は127個まで追加することが可能です。
休みがちのAさんは、自分の出費が気になってきました。そこで日記から自分がお弁当を作った日を抜き出し、「出勤」「遅刻」のそれぞれで弁当を持参できた日を数えてみることにします。
E9(出勤でお弁当を持参した日)に=COUNTIFS(B$2:B$21,D2,C2:C21,”○”
E11(遅刻でお弁当を持参した日)に=COUNTIFS(B$2:B$21,D3,C2:C21,”○”と入力してみましょう。
countifs2

複数条件で出勤と遅刻それぞれお弁当を持参した日を算出


※E9とE11の合計はsum関数で行っている
これをたとえば↓のように
countif3

出勤かつ遅刻かつお弁当が○=0件


出勤と遅刻を同時に検索条件に含めると0になることに気をつけてください。
範囲で検索しているのはひとつひとつのセルの連なりで、上から「B2が出勤であること」と「B2が遅刻であること」という矛盾した条件に該当するかを下までチェックすることになるので、絶対にTrueが返りません。

やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント