2025/6/18

エクセルCOUNTIF関数の使い方: 条件付きでデータ個数をカウント - 度数分布表の作成にも

Thumbnail for エクセルCOUNTIF関数の使い方: 条件付きでデータ個数をカウント - 度数分布表の作成にも

はじめに

エクセルのCOUNTIF関数は、 データ集計や数値計算など、多くの場面で頻繁に使用される関数の1つです。 上位互換にCOUNTIFS関数があります。

ここでは、COUNTIF関数の

  • 基本的機能・使い方
  • 注意事項
  • 関連する関数
  • 使用例、応用法

について取り扱います。

基本的機能・使い方

COUNTIF関数は、 選択範囲の中で 指定した条件に合致した数をカウントする関数 です。

COUNTIF関数
COUNTIF ( 配列, 検索条件)

指定した 配列 データ中で、 検索条件 に合致する個数をカウント する。

配列
: 必須
A1:A5
検索するデータ範囲。
検索条件
: 必須
">=" & E2
カウントする条件。

検索条件には、 比較演算子が使用できます。
比較演算子と値の間に、 &(アンパサンド/アンド記号)を入れる必要がある ことが多いので注意です。

比較演算子

数値同士や文字列同士を比較するときに使用する演算子です。

比較演算子意味使用例
(文字列)

(数値)

(参照)
=等しい (==)"=A""=" & 0"=" & A1
<>等しくない (\ne)"<>A""<>" & 0"<>" & A1
>より大きい (>>)">" & 0">" & A1
<より小さい (<<)"<" & 0"<" & A1
>=以上 (\geq)">=" & 0">=" & A1
<=以下 (\leq)"<=" & 0"<=" & A1

※ 比較演算子 (+&) の省略可

注意事項

検索条件で部分一致を使用できるか、 意図した結果にならない場合にどうしたらいいのか、 について解説します。

検索条件の仕様

  • 部分一致検索(ワイルドカード)に対応(詳細は後述)
  • 大文字・小文字の区別はしない
  • 全角・半角の区別はする
  • 一度に照合できる文字列は 最大255文字まで
  • 一度に複数条件を指定することはできない(対応策は後述)

うまく動作しないときの原因と対策

COUNTIF関数がうまく動作しない場合、 以下のような原因が考えられます。

  • うまくカウントされないとき:
    • 検索条件の記入方法が間違っている。
      対策:以下を再確認する(参考:上記「比較演算子」)。
      • 比較演算子は "で囲まれているか?
      • 文字列は "で囲まれているか?
      • 比較演算子と数値 / 参照は &で結ばれているか?
      • 参照を "で囲んでいないか?
    • 数値が文字列形式になっており、かつ、=<>以外を使用している。
      対策:データを数値形式に変換する。

関連する関数

COUNTIF関数と似た機能を持つ関数には、以下があります。

  • COUNT関数:数値データの個数をカウントする。
  • COUNTA関数:空白以外のセルの個数をカウントする。
  • COUNTBLANK関数:(見た目が)空白のセルの個数をカウントする。
  • COUNTIFS関数:複数条件に一致するセルの個数をカウントする。
  • DCOUNT / DCOUNTA関数:他の列に条件設定して、数値セル / 空白以外のセルの個数をカウントする。
  • SUBTOTAL関数: フィルター機能による非表示の値を除外 して、データの個数をカウントできる。
  • AGGREGATE関数: フィルター機能による非表示の値を除外エラー値を除外 してデータの個数を取得できる。
  • SUMPRODUCT関数:条件付きのカウントに応用できる。

使用例、応用例

COUNTIF関数の使用例・応用例として、以下のパターンを紹介します。

  • 複数条件の設定 / 度数の算出: COUNTIF関数を複数回使用。
  • 部分一致検索: 検索条件にワイルドカードを使用。
  • 重複の確認: 参照開始位置を固定。

複数条件の設定 / 度数の算出

COUNTIF関数のみの使用で、複数条件を設定し、 度数(下限値以上 上限値未満のカウント数)を算出する例です。

以下の2つを計算し、その差分から算出しています。

  • 下限値未満のカウント数
  • 上限値未満のカウント数

関数の構成

=COUNTIF( データ範囲 , "<" & 下限値 ) - COUNTIF( データ範囲 ,"<" & 上限値 )

このように複数回 COUNTIF関数を使用することで、 複数条件でカウント数を取得できます。
ANDの複数条件の場合であれば、COUNTIFS関数 を使用すると簡潔に記述できます。 また AND OR条件にかかわらず、 SUMPRODUCT関数であれば複雑な条件に対応 できます。

部分一致検索

COUNTIF関数では、検索条件にワイルドカードを使用できるため、 部分一致検索が可能です。 ワイルドカードの文字数を限定したい場合は、 *(アスタリスク記号)でなく?(疑問符 / ハテナ記号)を使用します。

関数の構成

=COUNTIF( データ範囲 , 検索値 )

検索値に、ワイルドカード * 使用


ワイルドカード

ワイルドカードとは、任意の文字列を表す特殊な文字のことです。
言葉で表すと「ほにゃらら」「○○」などのイメージです。
特定の文字列が含まれるかどうかを調べるときに使用します。
関連する記号としては、以下があります。

  • * (アスタリスク記号):任意の文字列(文字数不定)
  • ? (疑問符 / ハテナ記号):任意の1文字
  • ~ (チルダ記号):エスケープ記号(*, ? 記号を検索文字として使用する場合に使用)

重複の確認

COUNTIF関数に指定するデータ範囲の開始位置を固定 ($記号使用) することで、 重複した値の確認に使用できます。 この例では、自身の値もカウントするため -1 しています。

関数の構成

=COUNTIF( データ範囲 , ) -1

データ範囲の参照開始位置を固定


【数値が文字列形式になっている例】
ABCD
1❌文字列を"≦"で比較✅数値を"≦"で比較
21
31
41
52
62
7
803

ABCDEF
1データ
21範囲度数
310~22
442~41
544~66
636~81
75
84
95
105
117

ABCDEF
11-a
21-b検索値*-b
31-cカウント2
42-a
52-b

AB
1データ重複数
2A0
3B0
4B1
5C0
6D0