条件が一致するものだけ数えたいCOUNTIF関数

関数

COUNTIF関数とは

COUNTIF( 範囲 , 検索条件 )

意味:範囲内で検索条件を満たすデータが何個あるか

COUNTIF関数はデータ個数を数えるものです。あくまでデータ個数しか数えられません。

条件を満たす値を合計したい場合は、SUMIF関数を利用します。SUMIF関数については下記の記事を参照してください。

範囲の設定

COUNTIF関数の範囲設定は「B1:B100」(意味:セルBからB100)など指定できます。

しかし、このような範囲指定をした状態で、列方向へオートフィルをすると、下の数式の範囲が1つずつズレてしまいます。

例えば、「B1:B100」と範囲指定したものを列方向へオートフィルすると、下の数式の範囲は「B2:B101」と1つずつ範囲がズレていきます。

このように範囲がズレてしまうと、作成する表が思うように機能しない場合があります。

範囲ズレを防ぐために範囲の設定は下記の2パターンで行うことをオススメします!

  • 行全体の指定
  • 「$」を利用した固定範囲で指定

行全体の指定

行全体を指定すると、列方向へオートフィルをしても、範囲全体のままなのでズレることはありません。

行全体の指定は「B:B」などとすれば、B行全体を範囲指定したことになります。

また、メリットは範囲がズレないだけではありません。

カウントしたいデータが随時更新される場合、「B 1:B100」などと範囲指定していると、101番目以降にあるデータがカウントされなくなってしまいます。

そこで、行全体を指定していれば、どんなにデータベースが増えても全てのカウントが可能になるというメリットがあります。

ただし、行方向へのオートフィルをした場合は、指定行が1行ずつズレてしまうので注意

「$」を利用した固定範囲で指定

「$」を利用して範囲を固定すると、オートフィルで範囲がズレません。

これは、列方向・行方向に関係なく、「$」をつけていれば、範囲は固定されます。

「$」を利用するとは、動かしたくない要素の前に「$」を入力します。

例:「B1:100」→「$B$1:$B$100」

このように固定すれば、オートフィルをしても、範囲を固定したまま数式を複製できます。

条件の設定方法

条件式の作り方

数式意味
=A1=1A1は1と等しい
<>A1<>1A1は1以外
>A1>1A1は1より大きい
>=A1>=1A1は1以上
<A1<1A1は1より小さい
<=A1<=1A1は1以下

数値の場合は、条件式にそのまま数字を入力して良いです。

しかし、文字列の場合は、条件式に「”(ダブルクォーテーション)」をつける必要があります。

例)セルA1に「男性」と入力されているかが条件 → 条件式「A1=”男性”」

複数条件でカウントしたいときはCOUNTIFS関数

カウントしたい条件が複数ある場合は、COUNTIFS関数を利用しましょう。

使い方は、COUNTIF関数を理解していれば簡単です。

COUNTIFS( 範囲1 , 検索条件1 , 範囲2 , 検索条件2 )

意味:「範囲1内で検索条件1を満たす かつ 範囲2内で検索条件2を満たす」データは何個あるか

※3つ以上の条件を設定する際も、後ろに範囲と検索条件を追加していけば良い

例)『列Aが「男性」 かつ 列Bが30以上』のデータ個数を知りたい

式)=COUNTIFS( A:A , “男性” , B:B , “>=30” )

このように、COUNTIF関数を応用すれば、複数条件(かつ条件)のカウントをすることができます。

また、複数条件(または条件)のときには、COUNTIF関数を複数立式する必要があります。

例)『列Aが「男性」 または 列Bが30以上』のデータ個数を知りたい

式)=COUNTIF( A:A , “男性” ) + COUNTIF( B:B , “>=30” )

コメント

タイトルとURLをコピーしました