=COUNTIF(B2:B7,"North")は、B2:B7のうちNorthが入っているセルを数えます。COUNTIFの引数は2つです。調べる範囲と、数えるセルが満たすべき条件です。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Region | Count | |
| 2 | Ana | North | 120 | North | 3 | |
| 3 | Ben | South | 45 | South | 2 | |
| 4 | Cara | North | 80 | |||
| 5 | Dan | East | 55 | |||
| 6 | Eva | South | 200 | |||
| 7 | Finn | North | 30 |
F2はNorthの行を数えます。F3は条件をセルに置いて同じことをしています。E3をEastに変えるか、B列の地域のどれかを変えると、件数がそれに合わせて変わります。セル参照を使うと集計表が作れます。行ごとにCOUNTIFを1つ置き、それぞれが自分の行の見出しを参照します。
COUNTIF関数の構文
=COUNTIF(range, criteria)
range(範囲)は調べるセルです。B2:B7やB:Bのような、シート上の範囲である必要があります。criteria(検索条件)は条件で、ダブルクォーテーションで囲んだ文字列、数値、セル参照のいずれかで書きます。下の表の形はどれも条件として使えます:
| 条件 | 数えるセル |
|---|---|
"North" | Northと等しい(大文字小文字は問わない) |
">50" | 50より大きい |
"<>North" | North以外のすべて(空白も含む) |
55 | 数値55と等しい |
">"&F6 | F6の値より大きい |
"*apple*" | appleを含む文字列 |
"" | 空白 |
"<>" | 空白でない |
COUNTIFで以上・以下・より大きいを数える
比較演算子は数値と一緒に引用符の中に入れます:">50"、"<=50"、"<>55"。演算子のない数値だけなら「等しい」という意味です。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Condition | Count | |
| 2 | Ana | North | 120 | Over 50 | 4 | |
| 3 | Ben | South | 45 | 50 or less | 2 | |
| 4 | Cara | North | 80 | Exactly 55 | 1 | |
| 5 | Dan | East | 55 | Not 55 | 5 | |
| 6 | Eva | South | 200 | Limit | 100 | |
| 7 | Finn | North | 30 | Over the limit | 2 |
6件の売上のうち4件が50より大きく、2件が50以下なので、F2とF3の合計は必ず行数と同じになります。F7は基準値をF6から読みます。F6を50に変えると、F7はF2と同じ件数を表示します。
COUNTIFでセル参照を条件にする
比べる値がセルに入っているときは、演算子を引用符の中に残し、セルを&でつなぎます:">"&F6、"<="&F6、"<>"&E3。COUNTIFでよくある間違いは">F6"と書くことです。引用符の中のF6はただの2文字の文字列なので、Excelはすべての数値を「F6」という文字列と比べ、件数はほぼ必ず0になります。
「セルと等しい」なら演算子はいりません。E3に値が入っていれば、=COUNTIF(B2:B7,E3)は=COUNTIF(B2:B7,"="&E3)と同じです。
COUNTIFで文字列を含むセルを数える: ワイルドカード
COUNTIFの条件では2つのワイルドカードが使えます。*は任意の数の文字を、?はちょうど1文字を表します。"*apple*"はどこかにappleを含むセルに、"P*"はPで始まるセルに、"????"はちょうど4文字の文字列に一致します。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Condition | Count | |
| 2 | Apple | contains apple | 4 | |
| 3 | Pineapple | starts with P | 3 | |
| 4 | Pear | 4 letters | 2 | |
| 5 | apple juice | equal to APPLE | 1 | |
| 6 | not Pear | 6 | ||
| 7 | Plum | empty | 1 | |
| 8 | Green apple | not empty | 6 |
D2とD5を見比べてください。"*apple*"は4つのセルを見つけますが、ワイルドカードのない"APPLE"はちょうどAppleのセル1つしか見つけません。ワイルドカードがないとセル全体が一致する必要があり、一致は大文字と小文字を区別しないので、"APPLE"、"Apple"、"apple"は同じセルを数えます。
D6には落とし穴があります。"<>Pear"が6を数えるのは、空のA6も「Pear以外」だからです。入力済みのセルのうちPear以外だけを数えるには、COUNTIFSで2つの条件を使います:=COUNTIFS(A2:A8,"<>Pear",A2:A8,"<>")。
セルの文字列を使うには、ワイルドカードをそのセルにつなげます:=COUNTIF(A2:A8,"*"&E2&"*")。本物のアスタリスクや疑問符を数えるには、前にチルダを付けます:"~*"。ほかのパターンはワイルドカードのページに、何らかの文字列が入ったセルをすべて数える方法は文字列が入ったセルを数えるにあります。
COUNTIFで空白と空白以外を数える
上のシートのD7とD8は、空のセルと入力済みのセルを数えています。""は空白、"<>"は空白でないという意味です。空の文字列を返す数式(=IF(B2>0,B2,""))は空白に見え、""は空白として数えますが、"<>"もそのセルを入力済みとして数えます。セルに数式が入っているからです。これを避ける方法はCOUNTIFで空白以外を数えるで説明しています。
COUNTIFで日付を条件にする
Excelでは日付は数値なので、比較演算子が使えます。日付はDATEで作るかセルから取り、&で演算子につなげます。引用符の中に自分の地域の形式で日付を書いてはいけません。">3/1/2026"は米国では3月1日ですが、ヨーロッパの多くの国では1月3日です。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Date | Condition | Count | |
| 2 | Ana | 2026-01-05 | From Feb 1 | 4 | |
| 3 | Ben | 2026-01-12 | Cutoff | 2026-03-01 | |
| 4 | Cara | 2026-02-03 | Before the cutoff | 4 | |
| 5 | Dan | 2026-02-18 | On Jan 12 | 1 | |
| 6 | Eva | 2026-03-02 | |||
| 7 | Finn | 2026-03-20 |
E2は2月1日以降の4つの日付を数えます。E4はE3の締め日より前の日付を数えます。E3を2026-02-01に変えると2に減ります。2つの日付の間を数えるには条件が2つ必要なので、COUNTIFSを使います:=COUNTIFS(B2:B7,">="&DATE(2026,2,1),B2:B7,"<"&DATE(2026,3,1))。
COUNTIFで重複を数える
リスト全体を対象に、そのリストのセルの1つでCOUNTIFすると、その値が何回出てくるかがわかります。1より大きければ重複です。数式を下にコピーしてもリストが動かないよう、$で固定します。
| A | B | C | |
|---|---|---|---|
| 1 | Name | Times | Duplicate? |
| 2 | Ana | 2 | TRUE |
| 3 | Ben | 2 | TRUE |
| 4 | Cara | 1 | FALSE |
| 5 | Ana | 2 | TRUE |
| 6 | Dan | 1 | FALSE |
| 7 | Ben | 2 | TRUE |
| 8 | Eva | 1 | FALSE |
AnaとBenは2回出てくるので、その行には2とTRUEが表示され、A2:A8に設定した条件付き書式のルール=COUNTIF($A$2:$A$8,A2)>1がそれらを強調します。最後の名前をCaraに変えると、Caraも色が付きます。
=COUNTIF($A$2:A2,A2)>1(範囲の始まりだけを固定)は、各名前を先頭から自分の行までで数えるので、2つ目のAnaには印が付き、1つ目には付きません。この形は削除するコピーに印を付け、それぞれの最初の1つを残します。詳しい方法は重複の削除にあります。
練習: セルを使ったCOUNTIF
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Amount | Setting | Value | |
| 2 | A-101 | 120 | Limit | 100 | |
| 3 | A-102 | 45 | Orders over limit | ||
| 4 | A-103 | 310 | |||
| 5 | A-104 | 100 | |||
| 6 | A-105 | 85 | |||
| 7 | A-106 | 140 | |||
| 8 | A-107 | 99 |
やってみよう: B2:B8の注文のうち、E2の基準値より大きいものを数えてください。数式はE3に書きます。
正解したらE2を変えてみてください。件数がそれに合わせて動くはずです。ちょうど100の注文は100「より大きい」には入りません。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Setting | Value | |
| 2 | Apple | Word | apple | |
| 3 | Pear juice | Matches | ||
| 4 | Pineapple | |||
| 5 | Banana | |||
| 6 | Green apple | |||
| 7 | Pear | |||
| 8 | Apple cider |
やってみよう: A2:A8の商品のうち、名前のどこかにD2の単語を含むものを数えてください。数式はD3に書きます。
COUNTIFで複数の条件を指定する
COUNTIFが受け取る条件は1つです。2つ以上なら、2つの場合があります。
すべての条件を満たす(Northかつ50より大きい)場合は、範囲と条件の組を受け取るCOUNTIFSを使います。
=COUNTIFS(B2:B7,"North",C2:C7,">50")
どちらかの条件を満たせばよい(NorthまたはSouth)場合は、COUNTIFを2つ足すか、1つのCOUNTIFに波かっこでリストを渡して結果をSUMします。
=COUNTIF(B2:B7,"North")+COUNTIF(B2:B7,"South")
=SUM(COUNTIF(B2:B7,{"North","South"}))
1つのセルが両方の条件に一致しうる場合("*apple*"または"*green*")、このOR版は使わないでください。Green appleが2回数えられてしまいます。条件が重なるときは、=SUMPRODUCT(--((ISNUMBER(SEARCH("apple",A2:A8))+ISNUMBER(SEARCH("green",A2:A8)))>0))で各セルを1回だけ数えられます。
大文字と小文字を区別して数える
COUNTIFはAppleとappleを区別しません。大文字と小文字が重要なときは、大文字と小文字を区別するEXACTで比べ、TRUEの結果を合計します:
=SUMPRODUCT(--EXACT(A2:A8,"Apple"))
--はTRUEとFALSEを1と0に変えます。COUNTIFで表せない条件には、SUMPRODUCTが汎用的な道具です。
COUNTIFが0や間違った件数を返す理由
- 演算子とセルが両方とも引用符の中にある。
">F6"はF6という文字列と比べます。">"&F6と書いてください。 - データに余分なスペースがある。 末尾にスペースの付いた「North 」は「North」と等しくありません。
"North*"で数えて確かめ、TRIMで列をきれいにしてください。 - 文字列として保存された数値。
">50"のような条件は本物の数値しか比べないので、文字列として入力された数値(左寄せで、緑色の三角形が付いていることが多い)は飛ばされます。先に変換してください。文字列として保存された数値を参照してください。 - 範囲が閉じている別のブックを指している。 そのブックを開くまで、COUNTIFは
#VALUE!を返します。SUMPRODUCTにはこの制限がありません。 - 255文字より長い文字列。 COUNTIFは255文字より長い文字列には一致できません。代わりに直接比べます:
=SUMPRODUCT(--(A2:A8=E2))。
よくある質問
ExcelでCOUNTIFはどう使いますか?
範囲と条件を指定します。=COUNTIF(B2:B7,"North")はB2:B7のうちNorthと等しいセルを数え、=COUNTIF(C2:C7,">50")は50より大きい数値を数えます。文字列と比較の条件はダブルクォーテーションで囲みます。
COUNTIFでセル参照を条件にするには?
演算子とセルを&でつなぎます。=COUNTIF(C2:C7,">"&F6)はF6の数値より大きい値を数えます。">F6"のように引用符の中に書くと、F6という文字列と比べることになり、たいてい0が返ります。
COUNTIFは大文字と小文字を区別しますか?
区別しません。"apple"、"Apple"、"APPLE"はどれも同じセルを数えます。大文字と小文字を区別して数えるには=SUMPRODUCT(--EXACT(A2:A8,"Apple"))を使います。
COUNTIFで複数の条件を指定するには?
すべての条件を満たすセルを数えるならCOUNTIFSを使います:=COUNTIFS(B2:B7,"North",C2:C7,">50")。2つの値のどちらかなら、COUNTIFを2つ足します:=COUNTIF(B2:B7,"North")+COUNTIF(B2:B7,"South")。