Menu

COUNT関数とCOUNTA関数の違い: Excelでセルを数える

=COUNT(B2:B8)は数値の入ったセルを、=COUNTA(B2:B8)は空でないすべてのセルを、=COUNTBLANK(B2:B8)は空白セルを数えます。3つの違いを編集できるシートで確かめられます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=COUNT(B2:B8)はB2:B8のうち数値の入ったセルを数えます。=COUNTA(B2:B8)は、中身が何であれ空でないすべてのセルを数えます。=COUNTBLANK(B2:B8)は空白セルを数えます。

同じ列を3通りに数える
E2
ABCDEFG
1NameScoreCOUNTCOUNTACOUNTBLANK
2Ana78461
3Benabsent
4Chen91
5Dina
6Eli65
7Faypending
8Gus88
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

COUNTは4で、4つの点数です。COUNTAは6です。「absent」と「pending」も空ではないからです。COUNTBLANKはDinaの1です。Dinaに点数を入力すると、COUNTとCOUNTAが両方増え、COUNTBLANKは0になります。COUNTAとCOUNTBLANKを足すと範囲の7セルになります。ただし、後の節で見るように、""を返す数式のセルがあるときは別です。

COUNT: 数値の入ったセルを数える

=COUNT(value1, [value2], ...)

COUNTは数値を数えます。Excelでは日付と時刻も数値なので、これも数えられます。文字列、TRUE/FALSE、エラー、空白セルは飛ばされます。採点済みのテストが何件あるかなど、実際の値がいくつ入っているかを数えるのに使います。

COUNTが文字列として保存された数値を数えない理由

アポストロフィを付けて入力した数値や、別のプログラムから貼り付けた数値は、文字列として保存されていることがあります。見た目は数値でもCOUNTは無視し、SUMとAVERAGEも同じです。

文字列として保存された数値
D2
ABCDE
1OrderAmountCOUNTCOUNTA
2100125035
31002400
41003175
510042026-03-15
6100590
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

COUNTは3で、250、175、日付です。B3とB6の2つの金額は文字列なので、それを含めるのは5を返すCOUNTAだけです。COUNTが思ったより少ないときは、COUNTAと比べてください。その差が、文字列(またはTRUE/FALSE、エラー)の入ったセルの数です。セルを直すには文字列を数値に変換するをご覧ください。

COUNTA: 空でないセルを数える

=COUNTA(value1, [value2], ...)

COUNTAは「何行に入力があるか」を数える関数です。名前のように必ず入力される列を指定すれば、リストの行数を数えられます:

返信した人数
E2
ABCDEF
1NameEmailReplyInvitedReplied
2Anaana@mail.comYes64
3Benben@mail.com
4Chenchen@mail.comNo
5Dinadina@mail.comYes
6Elieli@mail.com
7Fayfay@mail.comMaybe
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

招待したのは6人で、返信したのは4人です。COUNTAは「Yes」「No」「Maybe」を区別せずに数えます。「Yes」の返信だけを数えるには、条件を使います:=COUNTIF(C2:C7,"Yes")(COUNTIF)。

COUNTAは""を返す数式も数える

COUNTAが見るのは、セルに中身があるかどうかで、何が表示されているかではありません。=IF(B2>=70,"Yes","")のような数式は、点数が70未満のとき空の文字列を返します。セルは空に見えますが数式が入っているので、COUNTAは数えます。COUNTBLANKもこれを空白として数えるので、両方に数えられる唯一のケースです。

B2:B6に78、52、91、64、85の点数があり、その数式をC2:C6にコピーしたとき、Excelは次の値を返します:

=COUNTA(C2:C6)          5   (every cell holds a formula)
=COUNTBLANK(C2:C6)      2   (the two "" results)
=COUNTIF(C2:C6,"Yes")   3   (only the visible results)

何かが表示されているセルだけを数えるには、ここでのCOUNTIFのように欲しい値を数えるか、=SUMPRODUCT(--(C2:C6<>""))を使います。こちらも3になります。ほかの方法はCOUNTIFで空白以外を数えるのページにあります。

練習: 採点済みのテストを数える

テストの結果
F2
ABCDEF
1NameScoreScored
2Ana78
3Benabsent
4Chen91
5Dina85
6Eliabsent
7Fayabsent
8Gus59
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: F2で、点数のある生徒の数を数えてください。テストを欠席した生徒には「absent」と書かれていて、数えてはいけません。

よくある間違い: 文字列の列にCOUNTを使う

名前の列に=COUNT(A2:A8)を使うと0が返ります。COUNTは数値しか数えないからです。行数を数えるつもりだった人はここで戸惑います。名前、コード、電話番号など文字列のものにはCOUNTAを使ってください。また、Excelでセルを選択したときにステータスバーに表示される「データの個数」はCOUNTAです。ステータスバーを右クリックして表示できる「数値の個数」がCOUNTです。

よくある質問

ExcelのCOUNTとCOUNTAの違いは何ですか?

COUNTは数値(日付と時刻を含む)が入ったセルだけを数えます。COUNTAは空でないすべてのセルを数えます。数値、文字列、TRUE/FALSE、エラー、数式で、空の文字列を返す数式も含まれます。

COUNTが0を返すのはなぜですか?

セルに入っているのが数値ではなく文字列だからです。文字列として保存された数値もこれに当たり、よく緑色の三角形が表示されます。それでも数えたいなら=COUNTA(B2:B8)を使うか、先に数値に変換してください。

Excelで空白でないセルを数えるには?

=COUNTA(B2:B8)は空でないセルをすべて数えます。""を返す数式のセルも除きたい場合は、文字列なら=COUNTIF(B2:B8,"?*")、何でも数えるなら=SUMPRODUCT(--(B2:B8<>""))を使います。

Excelで空白セルを数えるには?

=COUNTBLANK(B2:B8)です。本当に空のセルと、数式が空の文字列""を返すセルを数えます。スペースが入ったセルは空白ではありません。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める