=COUNT(B2:B8)はB2:B8のうち数値の入ったセルを数えます。=COUNTA(B2:B8)は、中身が何であれ空でないすべてのセルを数えます。=COUNTBLANK(B2:B8)は空白セルを数えます。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Score | COUNT | COUNTA | COUNTBLANK | ||
| 2 | Ana | 78 | 4 | 6 | 1 | ||
| 3 | Ben | absent | |||||
| 4 | Chen | 91 | |||||
| 5 | Dina | ||||||
| 6 | Eli | 65 | |||||
| 7 | Fay | pending | |||||
| 8 | Gus | 88 |
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も同じです。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Amount | COUNT | COUNTA | |
| 2 | 1001 | 250 | 3 | 5 | |
| 3 | 1002 | 400 | |||
| 4 | 1003 | 175 | |||
| 5 | 1004 | 2026-03-15 | |||
| 6 | 1005 | 90 |
COUNTは3で、250、175、日付です。B3とB6の2つの金額は文字列なので、それを含めるのは5を返すCOUNTAだけです。COUNTが思ったより少ないときは、COUNTAと比べてください。その差が、文字列(またはTRUE/FALSE、エラー)の入ったセルの数です。セルを直すには文字列を数値に変換するをご覧ください。
COUNTA: 空でないセルを数える
=COUNTA(value1, [value2], ...)
COUNTAは「何行に入力があるか」を数える関数です。名前のように必ず入力される列を指定すれば、リストの行数を数えられます:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Reply | Invited | Replied | ||
| 2 | Ana | ana@mail.com | Yes | 6 | 4 | |
| 3 | Ben | ben@mail.com | ||||
| 4 | Chen | chen@mail.com | No | |||
| 5 | Dina | dina@mail.com | Yes | |||
| 6 | Eli | eli@mail.com | ||||
| 7 | Fay | fay@mail.com | Maybe |
招待したのは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で空白以外を数えるのページにあります。
練習: 採点済みのテストを数える
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Score | Scored | |||
| 2 | Ana | 78 | ||||
| 3 | Ben | absent | ||||
| 4 | Chen | 91 | ||||
| 5 | Dina | 85 | ||||
| 6 | Eli | absent | ||||
| 7 | Fay | absent | ||||
| 8 | Gus | 59 |
やってみよう: 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)です。本当に空のセルと、数式が空の文字列""を返すセルを数えます。スペースが入ったセルは空白ではありません。