ExcelのCOUNTIF関数とCOUNTIFS関数を基礎から解説



ExcelのCOUNTIF関数とCOUNTIFS関数を基礎から解説

Excelで使う統計関数のうち、個数を数える関数であるCOUNT関連は意外と使われることが多いのではないでしょうか。COUNTA、COUNTBLANKも重宝しますが、条件付きでカウントしたいときは、COUNTIF関数、COUNTIFS関数の出番です。

1つの条件を満たすセルの個数をカウントするCOUNTIF、複数の条件を満たすセルの個数をカウントするCOUNTIFSについて、簡単に解説します。

※画像はOS:Windows 10, Excelのバージョン:Excel 2016のものです

目次
  1. COUNTIF関数の基本
  2. 構文
  3. 基本的な使い方
  4. COUNTIFS関数の基本
  5. 構文
  6. 基本的な使い方
  7. 比較演算子とワイルドカード
  8. COUNTIF、COUNTIFS関数でOR条件
  9. OR条件にする(条件に重複なし)
  10. OR条件にする(条件に重複あり)
  11. おわりに

image

COUNTIF関数の基本

1つの検索条件に一致するセルの個数を返します。

構文

COUNTIF(範囲, 検索条件)

範囲:数えるセルのグループ。数値、配列、名前付き範囲、(数値を含む) 参照を入れることができます。 検索条件:個数の計算対象となるセルを決定する条件。文字列の場合は、大文字小文字を区別しません。255文字より長い文字列は照合できません。

基本的な使い方

都道府県別の人口を表す表を例にします。

基本

countif_kihon

セルF4:=COUNTIF(C5:C51,">=1000")

C5:C51のセル範囲で、値が1000以上の個数を表示しています。

セルの値を検索条件に組み込む count_cell セルF4:=COUNTIF(C5:C51,">="&E4)

検索条件はセルE4の値"5000"と連結して">=5000"となり、C5:C51の範囲で条件に合致したセルの個数が表示されています。

セルの値を検索条件に組み入れる場合、 "="&A1 というように、文字列とセルを&で連結します。

COUNTIFS関数の基本

複数の範囲のセルに条件を適用して、すべての条件が満たされた回数をカウントします。

構文

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

条件範囲1:対象となる最初の範囲 条件1:計算の対象となるセルを定義する条件

条件範囲 2, 条件 2…:追加の範囲と対応する条件。指定できる数は最大127組です。各追加範囲は、条件範囲1と同じ数の行および列が設定されている必要があります。範囲はお互いに隣接している必要はありません。

基本的な使い方

countifs_kihon セルF4:=COUNTIFS(C5:C51,">=1000",B5:B51,"=")

C5:C51の範囲で値が1000以上かつ、B5:B51の範囲で値に"島"を含むものの個数を表示しています。

比較演算子とワイルドカード

比較演算子は、下記の記号を使います。特に以上・以下とより大きい・より小さい(未満)の違いに注意しましょう。

記号 意味
> >1 1より大きい
>= >=1 1以上
< <1 1より小さい、1未満
<= <=1 1以下
= =1 1と等しい
<> <>1 1と等しくない
ワイルドカードとは、任意の文字を意味する特殊文字で、Excelの場合は下記2つが使えます。 疑問符 (?):任意の1文字 アスタリスク (*):1文字以上の任意の文字列

疑問符やアスタリスク自体を検索する場合は、"~*" のように、文字の前に半角のチルダ (~) を付けます。

COUNTIF、COUNTIFS関数でOR条件

COUNTIFSはすべての条件を満たす(AND条件)には適していますが、いずれかの条件を満たす(OR条件)については、少々工夫が必要になります。

OR条件にする(条件に重複なし)

セルF4:=COUNTIF(C5:C51,">=5000")+COUNTIF(C5:C51,"=1321")

C5:C51の範囲で値が5000以上または1321であるセルの個数を表示しています。

条件に重複がない場合、2つのCOUNTIF関数(またはCOUNTIFS関数)を合算します。

OR条件にする(条件に重複あり)

countifs_or

セルF4:=COUNTIF(B5:B51,"=")+COUNTIF(B5:B51,"=")-COUNTIFS(B5:B51,"=福島")-COUNTIFS(B5:B51,"=島福")

B5:B51の範囲で"島"または"福"を含む値をカウントし、重複する"福島""島福"を含む値の個数を減算しています。

2つの関数を単純に合算すると、両方の条件に合致するセルが重複してカウントされます。重複を防ぐためには複数のCOUNTIF関数(またはCOUNTIFS関数)を合算し、2つの条件をどちらも満たしているセルを除外する必要があります。条件が複雑になるほど重複を考慮しなければならないので、条件が多くなりすぎないようにしましょう。

余談ですが、複雑なOR条件のカウントを実現したい場合には、SUMPRODUCT関数も参考にしてみてください。

おわりに

資料作成やデータ分析で本格的に使用するのはもちろんのこと、重複や誤りのチェックにもちょっとした技として使えます。書式さえ覚えればそれほど難しい関数ではないので、ぜひマスターしましょう。

<使用したデータ> なるほど統計学園 http://www.stat.go.jp/naruhodo/index.htm

「人口(都道府県別)(平成26年)」の都道府県および人口を抜粋 http://www.stat.go.jp/naruhodo/c1data/02_01_stt.htm

image

関連記事

murase miho
この記事を書いた人
murase miho
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp