2025/7/1

個数をカウントする関数の違い(COUNT, COUNTA, COUNTIF, COUNTIFSなど)【エクセル】

Thumbnail for 個数をカウントする関数の違い(COUNT, COUNTA, COUNTIF, COUNTIFSなど)【エクセル】

はじめに

エクセルには 個数をカウントする関数 が多くありますが、 それらの違いについてまとめました。 カウント対象となるセルの違い の一覧もあります。

関数の比較表

個数をカウントする関数の一覧を、下の表にまとめました。

関数名(関数のモード)カウント対象条件の指定備考対応バージョン
COUNT数値のみ不可2010 ~
COUNTA空白セル以外
COUNTBLANK空白セル、空文字
SUBTOTAL(COUNTモード)数値のみ不可 ※AGGREGATEの下位互換
(COUNTAモード)空白セル以外
AGGREGATE(COUNTモード)数値のみSUBTOTALの上位互換
(COUNTAモード)空白セル、エラー値以外
COUNTIF条件に応じる単一条件のみCOUNTIFSの下位互換
COUNTIFS複数条件可COUNTIFの上位互換
SUMPRODUCT
DCOUNT数値のみ + 条件に応じてフィルタ
DCOUNTA空白セル以外 + 条件に応じてフィルタ
FREQUENCY数値のみ + 条件に応じて分割複数条件可(分割条件)分割条件ごとのカウントを配列で返す

SUBTOTALAGGREGATE はフィルタ機能を使用すれば、複数条件を指定したカウントも可能

各関数のカウント対象一覧

カウント対象を視覚化すると下記の通りになります (条件指定の機能がない関数のみ)。

1表示の条件は、カウントされることを意味します (たとえば、COUNT関数は、数値数式(数値)のみをカウント)。

ABCDEFGHIJK
1セルの種類:数値文字列論理値空白セル空文字数式数式エラー値
2(数値)(文字列)
3関数名例:0aTRUE1ab#N/A
4COUNT関数:10000100
5SUBTOTAL関数 (COUNTモード):10000100
6AGGREGATE関数 (COUNTモード):10000100
7COUNTA関数:11101111
8SUBTOTAL関数 (COUNTAモード):11101111
9AGGREGATE関数 (COUNTAモード):11101110
10COUNTBLANK関数:00011000

使い分けの目安

条件設定が不要であれば、

  • 数値の個数をカウント COUNT関数を使用
  • 文字列の個数をカウント COUNTA関数を使用

が基本になります。

フィルタ機能を使用するのであれば SUBTOTAL, AGGREGATE関数を使用します。

「文字列をカウントしたいが、 空文字 "" をカウントしたくない」 場合は、 条件設定できる関数を検討する必要があります (数式中で空文字 "" を使用せず、エラー値 NA() に置き換え、 AGGREGATE関数のCOUNTAモードでカウントするのも1つの手)。