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空白セル以外 + 条件に応じてフィルタ

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

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

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

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

ABCDEFGHIJKLM
1ラベル番号条件1条件2
21000関数名(ラベル)(番号)カウント数(カウント行を個別選択)
31001COUNTIF関数<>10055
42000COUNTIFS関数<>100>=133
52001
6A-1000DCOUNT関数ラベル番号11
7A-1001<>100>=1
8A-1002DCOUNTA関数ラベル番号33
9<>100>=1
10
11SUMPRODUCT関数100でない1以上33
12FILTER+COUNTA100でない1以上33

使い分けの目安

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

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

が基本になります。

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

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