ExcelのCOUNTIF関数の使い方。実務での活用例とできないときの対処法
結論
COUNTIF関数は「=COUNTIF(範囲,検索条件)」の2つを指定するだけで、条件に合うセルの件数を数えられる関数です。比較演算子やワイルドカードを使えば「100万円以上」「〇〇を含む」といった条件でも数えられ、契約書管理台帳の重複チェックや締結率の算出にも役立ちます。複数条件はCOUNTIFS関数、うまく数えられないときは表記ゆれや絶対参照を確認しましょう。
Excelで契約書管理台帳や顧客リストを集計するのに便利なのがCOUNTIF関数です。
この記事では、COUNTIF関数の書き方や条件指定の方法、実務での活用例や困ったときの対処法などを解説します。Excel初心者の方もぜひ参考にしてください。

DX推進ができている企業は何をしているのか?
無理なくはじめる“ちょうどいい” バックオフィス業務改善のコツ
ITが苦⼿な社員が多い会社が取るべきDX戦略について、とある製造業A社を例に挙げて解説します。
目次
COUNTIF関数とは?
まずは、COUNTIF関数でなにができるか、そしてCOUNT関数・COUNTA関数との違いを解説します。
COUNTIF関数でできること
COUNTIF関数では、条件に一致する文字列の数を数えることができます。さらに、文字列の一致だけでなく、数値の大小比較や日付を条件にした集計も可能です。
たとえば、契約状況が「締結済」の件数、申請金額が10万円以上の件数、期限が特定の日付より前の件数などを集計できます。元データが変更されると計算結果も更新されるため、日々の確認作業にも役立ちます。
COUNT関数・COUNTA関数との違い
Excelには、セルの個数を数える関数が複数あります。
- COUNT関数:数値が入力されたセルを数える
- COUNTA関数:空白ではないセルを数える
- COUNTIF関数:指定した条件に一致するセルを数える
たとえば、契約状況が「未対応」の件数だけを知りたい場合はCOUNTIF関数が適しています。
COUNTIF関数の基本の書き方
ここでは、COUNTIF関数の書式と、文字列や数値を条件にした基本的な使い方を解説します。
書式は「範囲」と「検索条件」の2つを指定するだけ
COUNTIF関数の基本の書式は次のとおりです。
=COUNTIF(範囲,検索条件)
「範囲」は集計対象のセル、「検索条件」は数えるセルの条件です。
たとえば、C2からC11に入力された契約状況から「締結済」を数える場合は
=COUNTIF(C2:C11,"締結済")
と入力します。文字列は原則として半角のダブルクォーテーションで囲みます。数値やセル参照を直接指定する場合は不要です。
文字列を条件にして数える手順
契約書管理台帳のC列に「締結済」「確認中」「未対応」が入力されている場合、以下の手順で「締結済」の件数を表示できます。
- 集計結果を表示するG2セルを選択する
- =COUNTIF(C2:C11,"締結済") と入力する
- Enterキーを押して結果を確認する

数値を条件にして数える手順
「D2からD11」に入力された契約金額を使い、100万円以上の契約件数を集計する場合は以下の手順を実行します。
- 集計結果を表示するセルを選択する
- =COUNTIF(D2:D11,">=1000000") と入力する
- Enterキーを押して件数を確認する
下図の例では、100万円以上の契約が4件あるため、結果は「4」と表示されます。「以上」などの比較条件を指定するときは、比較演算子と数値をダブルクォーテーションで囲みましょう。

条件をセル参照にすると集計表を使い回せる
検索条件を直接入力する代わりに、別のセルを参照することもできます。F2に「締結済」と入力し、G2に次の数式を設定します。
=COUNTIF($C$2:$C$11,F2)
F2を「確認中」に変更すれば、集計結果も切り替わります。また、G2セルの右下にある小さな四角(フィルハンドル)にカーソルを合わせ、黒い十字型に変わったら、下方向にドラッグすれば、F列に並べた契約状況ごとの件数をまとめて集計できます。

条件の指定方法をパターン別に押さえる
COUNTIF関数は、検索条件の指定方法を変えることで、さまざまな集計に対応できます。
「以上」「以下」は比較演算子で指定する
数値を比較する場合は、比較演算子を使用します。
- ">1000000":100万円より大きい
- ">=1000000":100万円以上
- "<1000000":100万円未満
- "<=1000000":100万円以下
たとえば契約金額が100万円以上の件数は、
=COUNTIF(D2:D11,">=1000000")
で集計できます。「以上」「以下」は指定した数値を含み、「より大きい」「未満」は含まない点に注意しましょう。

「〇〇以外」は「<>」で指定する
特定の値以外を数える場合は、<>を使用します。C列から「締結済」以外を数える数式は次のとおりです。ただし、この数式では空白セルも集計対象になるため注意が必要です。
=COUNTIF(C2:C11,"<>締結済")
空白を除外するには、COUNTIFS関数で2つの条件を指定します。
=COUNTIFS(C2:C11,"<>締結済",C2:C11,"<>")
これにより、「締結済ではない」かつ「空白ではない」セルだけを集計できます。

「〇〇を含む」はワイルドカードで指定する
文字列の一部が一致するセルを数える場合は、ワイルドカードの「*」を使用します。たとえば契約名に「業務委託」を含む件数を数える場合は、次の数式を入力します。
=COUNTIF(B2:B11,"*業務委託*")
この場合、「業務委託契約書」「業務委託基本契約」などが対象になります。

なお、「?」は任意の1文字を表します。文字としての「*」や「?」を検索するときは、直前に「~」を付けます。
空白セルと空白以外のセルを数える
未入力のセルを確認する場合は、検索条件に「""」を指定します。
=COUNTIF(C2:C11,"")
一方、空白以外のセルを数える場合は次の数式を使用します。
=COUNTIF(C2:C11,"<>")
これらの数式で、担当者欄の入力漏れや契約状況の未登録件数も確認できます。ただし、数式で空文字列を返しているセルなどは、見た目と判定が異なる場合があるため注意が必要です。


日付を条件にして数える
契約書管理台帳のE列に「契約満了日」を追加した場合、今日より前に満了日を迎えた契約は、次の数式で数えられます。
=COUNTIF(E2:E11,"<"&TODAY())
関数は現在の日付を返すため、日付が変わると集計結果も更新されます(下図は2026年10月15日時点で集計した結果です)。

また今日から30日以内に満了する契約を調べたい場合は、COUNTIFS関数で期間の開始日と終了日を指定すると便利です。次の数式では、今日から30日後までに満了する契約を数えられます。
=COUNTIFS(E2:E11,">="&TODAY(),E2:E11,"<="&TODAY()+30)
実務で役立つCOUNTIF関数の活用例
COUNTIF関数は件数の集計だけでなく、重複チェックや進捗状況の可視化にも活用できます。
重複データをチェックする
COUNTIF関数を使えば、顧客IDや契約番号の重複を確認できます。
たとえばA2に契約番号が入力されている場合、B2に次の数式を入力します。
=IF(A2="","",IF(COUNTIF($A$2:$A$100,A2)>1,"重複",""))
そのあと、B2の右下にある小さな四角(フィルハンドル)をB100までドラッグします。同じ契約番号が2件以上ある行には「重複」と表示され、空白セルは判定対象から除外されます。これは、二重登録の発見にも役立ちます。
なお、IDが数字だけの場合、COUNTIF関数では「001」と「1」が同じ値とみなされたり、16桁以上の番号が正しく判定されなかったりすることがあります。このような場合は、SUMPRODUCT関数を使って文字列のまま照合する方法もあります。
=IF(B2="","",IF(SUMPRODUCT(--($B$2:$B$11=B2))>1,"重複",""))
条件付き書式と組み合わせて該当セルに色を付ける
条件付き書式で、重複しているデータの色付けも可能です。重複している顧客IDがないか確認したい場合は次のように設定します。
- B2からB11を選択する
- 「ホーム」→「条件付き書式」→「新しいルール」を選ぶ
- 「数式を使用して、書式設定するセルを決定」を選ぶ
- =AND(B2<>"",COUNTIF($B$2:$B$11,B2)>1)を入力する
- 「書式」から塗りつぶし色を設定する
- 「OK」をクリックしてルールを確定する
これで重複している顧客IDのセルに色が付き、ひと目で確認できます。なお、数式を使わずに「条件付き書式」→「セルの強調表示ルール」→「重複する値」から設定することもできます。


COUNTA関数と組み合わせて割合を求める
COUNTIF関数とCOUNTA関数を組み合わせれば、契約の締結率も計算できます。たとえば、A列に契約番号、C列に契約状況が入力されている場合は次の数式を使用します。
=COUNTIF(C2:C11,"締結済")/COUNTA(A2:A11)
結果のセルを「パーセンテージ」表示にすれば、締結率を確認できます。空欄などがあると割合が正しく算出されないため、データの入力状況も確認しましょう。

COUNTIF関数がうまく動かないときの原因と対処法
COUNTIF関数の結果が想定と異なる場合は、数式だけでなく元データも確認してみましょう。
全角・半角や余分なスペースの違いで一致しない
COUNTIF関数で正しく集計できない場合は、文字の表記や不要なスペースが原因になっている可能性があります。
COUNTIF関数はアルファベットの大文字と小文字を区別しないため、「ABC」と「abc」は同じ文字列として数えられます。
全角・半角の表記が混在している場合は、ASC関数で全角英数字・カタカナを半角に、JIS関数で半角英数字・カタカナを全角に統一しましょう。たとえば、
=ASC(A2)
でA2セルの文字を半角に変換できます。
また、末尾などの余分な半角スペースはTRIM関数、印刷できない文字はCLEAN関数で整理できます。全角スペースはTRIM関数だけでは除去できないため、
=TRIM(SUBSTITUTE(A2," "," "))
と入力し、全角スペースを削除してから余分な半角スペースを整理しましょう。
数値が文字列として保存されている
数値が文字列として保存されていると、「>=1000000」のような比較演算子を使った条件では集計の対象になりません。
この場合、セルの左上隅に緑色の三角形でエラーマークが表示されることがあります。このケースでは、警告メニューの「数値に変換」を確認してみてください。また、VALUE関数を使って文字列を数値へ変換する方法もあります。
正しい結果を得るためには、データの種類を統一しておくことが重要です。
範囲を絶対参照にせずにコピーして範囲がずれる
COUNTIF関数の数式をコピーすると、参照範囲が自動的に移動し、集計結果がずれることがあります。たとえば、「=COUNTIF(C2:C11,"締結済")」を1行下にコピーすると、範囲が「C3:C12」に変わります。これを防ぐには、
=COUNTIF($C$2:$C$11,"締結済")
のように、列と行に「$」を付けて範囲を固定します。
ワンポイント
数式の編集中に対象セルを選択してF4キーを押すと、簡単に絶対参照へ切り替えられます。ノートパソコンでは「Fn」キーと同時に押す必要がある場合もあります。
参考:ノートパソコンで絶対参照をするためにF4が使えない。
255文字を超える文字列は正しく数えられない
COUNTIF関数では、検索条件の文字列が255文字を超えると正しい結果が得られない場合があります。長い契約名や備考欄の内容を完全一致で検索する場合は注意しましょう。
対処法として、検索条件を複数の文字列に分け、「&」で結合する方法があります。長文を頻繁に照合する場合は、管理番号など短い識別情報を使うと集計しやすくなります。
複数の条件で数えるならCOUNTIFS関数を使う
ここからは、複数の条件を組み合わせる際に活用できるCOUNTIFS関数を解説します。
AND条件はCOUNTIFS関数で指定する
たとえば、契約書管理台帳のB列に契約書名、C列に契約状況が入力されている場合、「契約書名が業務委託契約書」かつ「契約状況が確認中」の件数は、次の数式で求められます。
=COUNTIFS(B2:B11,"業務委託契約書",C2:C11,"確認中")
この数式では、B列が「業務委託契約書」で、同じ行のC列が「確認中」のデータだけを数えます。条件ごとに「範囲」と「検索条件」を指定し、すべての条件に一致した行を集計する仕組みです。
OR条件はCOUNTIF関数を足し算して求める
「確認中」または「未対応」のように、いずれかの条件を満たす件数を数えたい場合は、COUNTIF関数を足し合わせます。たとえば、契約書管理台帳のC列に契約状況が入力されている場合、次の数式を使用します。
=COUNTIF(C2:C11,"確認中")+COUNTIF(C2:C11,"未対応")
C2からC11の範囲から「確認中」と「未対応」をそれぞれ数え、結果を合計すると、「確認中」が3件、「未対応」が3件なら、合計6件と表示されます。
ただし、ワイルドカードを使用するなど、条件が重複すると二重に数える場合があるため注意しましょう。
よくある質問(FAQ)
COUNTIF関数について、疑問に感じやすいポイントを以下にまとめました。
Q. COUNTIF関数で「なにか入力されているセル」を数えるには?
A. 検索条件に"<>"を指定します。
=COUNTIF(A2:A100,"<>")
空白ではないセルの件数を集計できます。ただし、数式で空文字列を返すセルの扱いなどには注意が必要です。入力済みのセル全体を数えたい場合はCOUNTA関数も検討しましょう。
Q. COUNTIF関数で色の付いたセルは数えられる?
A. COUNTIF関数では、セルの背景色や文字色を直接条件にして数えることはできません。
色を付ける基準が「未対応」などの文字列であれば、その元データをCOUNTIF関数で集計できます。色そのものを条件にする場合は、フィルター機能やVBAなど別の方法が必要です。
Q. COUNTIF関数で曜日ごとに件数を数えるには?
A. 日付から曜日を表示する列を作れば集計できます。A2に日付がある場合、B2に「=TEXT(A2,"aaa")」と入力すると曜日が表示されます。この数式をB11までコピーし、次の数式を入力します。
=COUNTIF(B2:B11,"月")
これでB列に「月」と表示されたセル、つまり月曜日の件数を数えられます。
Q. Googleスプレッドシートでも同じように使える?
A. GoogleスプレッドシートでもExcelと同じようにCOUNTIF関数を使用できます。
基本的な書式や条件の指定方法も共通しており、「以上」「以下」などの比較演算子やワイルドカードも使用できます。ただし、ExcelとGoogleスプレッドシートでは一部のデータの扱いが異なるため、移行時は集計結果が一致するか確認しましょう。
まとめ
COUNTIF関数を使えば、契約書や顧客情報、申請データから条件に合う件数を簡単に集計できるため、効率化やミスの防止につながります。契約件数が増えると、関数だけでは解決できない課題も生じるため、必要に応じて「クラウドサイン」のような電子契約サービスの活用も検討し、保管・管理までの効率化につなげていきましょう。

理想の契約書管理とは?
ここから始める契約書管理 管理の際に気をつけるポイント
最新の法規制に準拠した「理想の契約書管理体制」について解説します。

電子契約の国内スタンダード
クラウドサイン サービス説明資料
電子契約サービス「クラウドサイン」の機能や料金プラン、ご導入いただいたお客様の声などをご紹介いたします。
この記事を書いたライター
田村 真弥
Microsoft Office Specialist(MOS)
Microsoft Office Specialist(MOS)のWord・Excel Expert資格をはじめ、PowerPointを含む複数のOffice資格を保有するライター。商社勤務時代には、Excelを使ったデータ管理・集計やWordでの文書作成、PowerPointでの商品PR資料・パンフレット作成など、Officeソフトを幅広く実務で活用してきました。資格取得で培った専門知識と豊富な実務経験を活かし、Excel・Wordの基本操作から応用機能まで、初心者の方にも実践しやすく、わかりやすい記事をみなさまにお届けしています。
こちらも合わせて読む
-
Excel初心者のためのVLOOKUP関数の使い方 別シート参照やエラー対処も解説
Excel -
Excel復元方法まとめ 未保存・上書き・削除したファイルも復元できる可能性あり
Excel -
Excelの曜日表示はTEXT関数で一発解決 コピペで使える方法を解説
Excel -
Excel改行のやり方完全ガイド 崩れない・消えない対策
Excel -
【2026年版】クラウド文書管理システムとは?メリット・選び方・おすすめサービスを紹介
文書管理ペーパーレス化 -
書類の電子化で失敗しない方法 外注判断と費用対効果を解説
文書管理 -
文書管理とは何か?正しい進め方と電子帳簿保存法への対応ガイド
文書管理 -
文書管理の電子化とは?失敗しない進め方と電子帳簿保存法への対応方法を解説
文書管理 -
文書管理は「複利」で効果が現れる長期投資 中小企業が成功させるためのポイントを紹介
文書管理電子帳簿保存法ペーパーレス化 -
中小企業に最適 おすすめのドキュメント管理ツール7選
文書管理ペーパーレス化