目次

この記事でわかること

COUNTIFS関数で「複数条件AND集計」が1式で完結する仕組みがわかる。期間指定・OR条件・エラー解消の3パターンを実務シートにすぐ適用できる。フリーランスの案件管理シートに今日から使える5つのハックを習得できる。

COUNTIFS関数は「複数の条件をすべて満たすセル数を数える」Excelの標準関数で、構文は=COUNTIFS(条件範囲1, 検索条件1, 条件範囲2, 検索条件2)です。この記事では基本構文から期間指定・OR条件の代替手法まで、フリーランスの案件管理・請求管理で即使える5つの実践ハックを解説します。

この記事の結論

COUNTIFSは「条件範囲と検索条件をペアで追加するだけ」の構造なので、COUNTIFからの切り替えは1分で完了します。AND条件の複数指定・期間の下限上限セット・セル参照による動的条件管理の3つを押さえれば、フリーランスの日常業務で発生する95%以上の集計ニーズに対応できます。エラーが出たときは「条件範囲の行数が揃っているか」を最初に確認するのが最速の解決策です。

今日やるべき1つ

手元のExcelを開き、=COUNTIFS(A2:A100,”完了”,B2:B100,”東京”)を空セルに入力して動作確認する(3分)。

状況別ショートカット

状況読むべきセクション所要時間
COUNTIFとの違いをまず知りたいCOUNTIFSとCOUNTIFは条件数で使い分け3分
期間指定の書き方を知りたい期間集計はCOUNTIFSを2条件ペアで指定3分
エラーが出て困っているCOUNTIFS使い方を3分で自己診断3分
すぐ使える実務ハックが欲しいCOUNTIFS使い方は5つの仕組みで完結7分
OR条件の書き方を知りたいCOUNTIFSよくある質問2分

COUNTIFSとCOUNTIFは条件数で使い分け

COUNTIFが単一条件専用であるのに対し、COUNTIFSは複数条件を同時に処理する設計です。「COUNTIFで複数条件を入れたのに動かない」という現象は、関数の選択ではなく仕様の違いが原因です。ここでは2つの関数の構造的な違いと、COUNTIFSを選ぶべき理由を整理します。

COUNTIFSは複数条件をすべて満たす件数を返す

COUNTIFSは、指定したすべての条件を同時に満たすセルの個数を返す関数です(Microsoft Support: COUNTIFS 関数)。「ステータスが”完了”かつ担当者が”田中”」という複数条件を1つの式で処理できます。条件をOR(いずれか一方)ではなくAND(すべて同時)で絞り込む場面に強く、複数列を横断した集計が必要なフリーランスの案件管理シートで特に効果を発揮します。単一条件で十分な集計にCOUNTIFSを使っても動作しますが、式が不必要に長くなるため、条件が1つだけならCOUNTIFを使うのが実務の慣例です。

COUNTIFとCOUNTIFSの構文は引数ペア数で区別

COUNTIFの構文は=COUNTIF(範囲, 検索条件)の2引数で完結します。COUNTIFSは=COUNTIFS(条件範囲1, 検索条件1, 条件範囲2, 検索条件2, …)と「範囲と条件のペア」を繰り返す構造です(Microsoft Support: COUNTIF 関数)。最大127ペアまで追加でき、フリーランスの業務で使う集計のほぼすべてはこの範囲内に収まります。引数の個数が奇数になった場合(ペアが崩れた場合)はエラーになるため、式を書いた後に引数の総数が偶数かを確認する習慣が時間短縮につながります。

また、COUNTIF複数条件の使い方について詳しい解説も参考にしてみてください。

COUNTIFSの条件範囲は行数を完全に揃える

COUNTIFSで最も多いエラーの原因は「条件範囲1がA2:A100なのに条件範囲2がB2:B50など行数が異なるケース」です(できるネット: COUNTIFS関数)。Excelは条件範囲同士の行数・列数が一致していないと#VALUE!エラーを返します。すべての条件範囲の終端行番号を統一するだけで、エラーの多くは解消できます。表を拡張するときは全条件範囲を同時に更新するルールを設けておくと、後から発生する修正コストを大幅に削減できます。

CHECK

▶ 今すぐやること: 手元の集計式で各条件範囲の開始行・終了行が一致しているか1列ずつ目視確認する(2分)

Q: COUNTIFとCOUNTIFSはどちらを覚えれば十分ですか?

A: COUNTIFSを覚えれば十分です。COUNTIFS(条件範囲, 条件)という形でペアを1組だけ指定すればCOUNTIFと同じ動作になるため、COUNTIFS一本で両方の用途をカバーできます。

Q: COUNTIFSはGoogleスプレッドシートでも使えますか?

A: 使えます。構文はExcelと同一で、=COUNTIFS(条件範囲1, 検索条件1, …)がそのまま動作します。

期間集計はCOUNTIFSを2条件ペアで指定

「先月の請求件数だけ数えたい」という場面で、日付の絞り込み方を知らないと手動フィルターに頼ることになります。COUNTIFSで期間指定を実装すれば、日付列を対象にした自動集計が1式で完成します。

開始日以上・終了日以下を2ペアで記述する

期間指定は、同一の日付列に対して「以上(>=)」と「以下(<=)」の2条件を書くことで実現します。書式は=COUNTIFS(日付列, “>=”&開始日, 日付列, “<=”&終了日)です(Money Forward Biz: COUNTIFSの使い方)。条件文字列と日付をつなぐ&演算子を忘れるとエラーになるため、比較演算子は必ずで囲み、その直後に&でセル参照または日付値を結合します。フリーランスの請求管理では月初・月末セルをシートに固定しておき、そこをセル参照で指定すると、翌月分の集計式を書き直す手間がゼロになります。

フリーランスの売掛金管理をExcelで自動化する方法と組み合わせることで、請求管理の精度がさらに高まります。

セル参照を条件に使うと式の再利用が効率化する

条件値をセルに入力して参照する方式では、=COUNTIFS(A2:A100, D2)のように書きます(ノジマ: COUNTIFS活用法)。D2セルの値を変えるだけで集計対象が切り替わるため、月次集計・担当者別集計などを1つの式で使い回せます。条件値を直接式の中に書く「ハードコーディング」は、値を変えるたびに式を編集する必要があり、案件が増えると修正漏れの原因になります。セル参照方式に切り替えることで、月次レポート更新にかかる時間を削減できます。

文字列条件は表記ゆれに注意が必要

=COUNTIFS(A2:A100,”完了”)と書いた場合、「完了 」(末尾スペースあり)や「完了済み」など、完全一致しない表記は1件もカウントされません。文字列条件はCOUNTIFSが完全一致で動作することを前提に設計されており、部分一致が必要な場面ではワイルドカード*を使い“*完了*”と記述します。入力規則(ドロップダウン)で選択肢を統一しておくことが、表記ゆれを根本から防ぐ最も確実な方法です。

CHECK

▶ 今すぐやること: 請求管理シートの日付列に=COUNTIFS(日付列,”>=”&月初日セル,日付列,”<=”&月末日セル)を入力して今月の請求件数を確認する(5分)

Q: 期間指定で日付をセルではなく直接書くことはできますか?

A: できます。“>=2025/01/01”のように文字列として書く方法がありますが、日本語環境では日付シリアル値との一致が保証されないため、セル参照方式のほうが信頼性が高いです。

Q: 同じ列に対して2つの条件を書けますか?

A: 書けます。期間指定がその典型例で、=COUNTIFS(A2:A100,”>=”&D2,A2:A100,”<=”&E2)のように同一列を2回指定できます。

COUNTIFS使い方を3分で自己診断

式を書いたのに0が返る、エラーが消えない——そういう状況では、確認順序を決めておくと原因特定が格段に速くなります。以下の診断フローに沿って順番に確認してください。

Q1: #VALUE!エラーが出ていますか?

はいの場合はQ2へ進んでください。いいえの場合はQ3へ進んでください。

Q2: 各条件範囲の行数(開始行〜終了行の数)は揃っていますか?

揃っていない場合はResult Aです。条件範囲の終端行を統一してください。A2:A100B2:B100のように全範囲の行数を一致させるだけで#VALUE!エラーは解消します。所要時間1分。揃っている場合はResult Bです。演算子の記法を確認してください。“>=”&D2の形で&が正しく使われているか、日付条件の場合は特に確認が必要です。

Q3: 式の結果が0になっていますか(エラーではない)?

はいの場合はQ4へ進んでください。いいえの場合はResult Cです。式は正常に動作しています。期待値と異なる場合はデータ側の表記ゆれ(末尾スペース・全角半角)を確認してください。

Q4: 条件値とデータの表記は完全に一致していますか?

一致している場合はResult Dです。条件範囲のデータ型を確認してください。数値列に文字列条件を指定している(またはその逆)と0を返すことがあります。セルの書式設定で確認できます。一致していない場合はResult Eです。条件値を修正してください。スペースの混入・全角半角の不一致・ワイルドカードの未使用が0件の3大原因です。

CHECK

▶ 今すぐやること: 結果が0のセルを選択し、条件範囲の1列目だけをF2キーで確認してハイライトされた範囲がデータと一致しているか目視する(3分)

Q: 条件範囲を列全体(A:A)で指定しても問題ありませんか?

A: 動作はしますが、列全体指定はExcelの処理対象セルが大幅に増えるため再計算が遅くなります。A2:A1000のように使用範囲を限定するほうが実務では適切です。

Q: 数値条件を文字列で指定するとどうなりますか?

A: 0件が返ります。数値列を条件にする場合、“10”(文字列)ではなく10(数値)または“>=”&10の形式で指定してください。

COUNTIFS使い方は5つの仕組みで完結

「関数の書き方は分かったけど、実際の案件管理シートにどう組み込むか」という疑問は多くのフリーランスが直面します。ここでは「フリーランスの実務シートへの組み込み方」に絞ったハックを5つ紹介します。

ハック1: 動的条件セルで月次集計を自動切り替え

【対象】: 毎月請求件数や案件数を手動で集計しているフリーランス

【手順】: 集計シートに「集計開始日(D1)」「集計終了日(E1)」の入力セルを2つ用意します(5分)。=COUNTIFS(日付列,”>=”&D1,日付列,”<=”&E1,ステータス列,”請求済”)を集計セルに入力します(3分)。D1・E1の日付を翌月分に書き換えるだけで集計が更新されることを確認し、月次報告用のセルとして固定します(2分)。

【ポイント】: 「条件値を入力セルで管理し式はセル参照にする」構成が月次更新の工数を削減します。条件値が式の外に出ると、式を開かずにセルだけ書き換えれば集計が完了するため、Excelの知識がない状態でも運用できる設計になります。これにより、案件管理シートを他者に引き継ぐ際の説明コストも下がります。

【注意点】: 月初・月末を手動で毎回計算してD1・E1に入力する必要はありません。=EOMONTH(TODAY(),-1)+1(当月1日)と=EOMONTH(TODAY(),0)(当月末日)をD1・E1に設定しておけば、入力自体が不要になります。

ハック2: 空白判定で未処理案件を自動カウント

【対象】: 請求書の送付漏れや作業未完了案件の件数を把握したいフリーランス

【手順】: ステータス列(例: C列)に対して=COUNTIFS(A2:A100,”案件名*”,C2:C100,””)を入力します(3分)。第2条件の“”が「空白セル」を意味することを確認し、別シートのステータス未入力件数が正しく返るか検証します(2分)。このセルに条件付き書式を設定し、1以上のとき赤く表示されるようにして「未処理案件ゼロ」の見える化を完成させます(5分)。

【ポイント】: 空白判定COUNTIFSを条件付き書式と組み合わせた自動検知が、作業漏れの発見を早めます。手動確認は確認タイミングにラグが生じますが、自動検知はファイルを開いた瞬間に未処理件数が表示されるため、見落とし防止に直結します。

【注意点】: “”(空白)と” “(スペース1文字)は別物です。データ入力時にスペースが混入していると空白として検知されないため、入力規則でスペース入力を禁止するか、定期的にTRIM関数で前処理してください。

ハック3: 条件範囲を絶対参照にして集計行を複製

【対象】: 担当者別・月別など複数の軸で同じ集計を繰り返したいフリーランス

【手順】: 条件範囲を$A$2:$A$100のように絶対参照($付き)に変更します(2分)。集計行を下にコピーし、条件値のみが変化(例: “田中”→”鈴木”)して条件範囲は固定されたままであることを確認します(2分)。条件値のセルも別列にリスト化し、そこへの参照に変更することで、名前の追加・変更をリスト列だけで管理できる体制を完成させます(5分)。

【ポイント】: 「絶対参照で範囲固定してからコピー展開する」アプローチが集計作業を効率化します。最初の1セルを正確に書けば、残り行は完全にコピーで完結するため、範囲のズレが発生しません。

【注意点】: 条件値を直接コピーすると「田中 」(末尾スペースあり)のような表記ゆれが混入することがあります。条件値はリスト管理してそこを参照する方式に切り替えると、表記ゆれによる0件誤りを防げます。

ハック4: OR条件はCOUNTIFS加算で代替する

【対象】: 「ステータスが”完了”または”請求済”の件数を数えたい」場面のあるフリーランス

【手順】: 条件Aの件数を返すCOUNTIFSと条件Bの件数を返すCOUNTIFSを別々に記述します(3分)。=COUNTIFS(A2:A100,”完了”)+COUNTIFS(A2:A100,”請求済”)のように加算で組み合わせます(2分)。両条件を同時に満たすセルが存在する場合は重複カウントになるため、該当件数をCOUNTIFS(…AND条件…)で引く調整式を必要に応じて追加します(3分)。

【ポイント】: COUNTIFSはAND専用設計のため、OR条件を単一のCOUNTIFSで実現する構文は存在しません(SBBIT: COUNTIFSの活用)。加算方式に切り替えることで、どの条件の件数が何件かを内訳として把握でき、集計の透明性が上がります。重複が発生しない設計(ステータスが排他的)なら加算だけで完結し、式が最もシンプルになります。

【注意点】: SUMPRODUCT関数を使った=SUMPRODUCT(((A2:A100=”完了”)+(A2:A100=”請求済”))*(B2:B100=”東京”))という記法はOR+ANDの同時指定が可能ですが、COUNTIFSに慣れる前に習得しようとすると混乱の元になります。まずはCOUNTIFS加算で対応し、SUMPRODUCTは必要になってから学ぶ順序で十分です。

ハック5: 完成した集計式をテーブル書式と組み合わせて自動拡張

【対象】: データが毎月増えるシートで範囲を毎回更新する手間を省きたいフリーランス

【手順】: データ範囲を選択し、Excelの「テーブルとして書式設定」で構造化テーブルに変換します(3分)。COUNTIFSの条件範囲をテーブル列名参照(例: Table1[ステータス])に書き換えます(3分)。テーブルの最終行に新しいデータを1行追加し、COUNTIFSの集計結果が自動的に更新されることを確認します(2分)。

【ポイント】: テーブル化によるダイナミックレンジは、データ追加と同時に集計範囲が自動拡張されるため、範囲の手動更新という作業を完全に排除できます(できるネット: Excelテーブル活用)。「集計のたびに範囲をA2:A1000のように見込みで広く取る」方法では空白行が集計対象に含まれるリスクがあります。テーブル化なら1度の設定で以降の範囲管理がゼロになります。

【注意点】: テーブル化するとフィルター機能やスライサーが自動で付与されます。既存シートのレイアウトと干渉する場合があるため、テーブル化は新しいシートかテスト用のコピーで先に試してから本番シートに適用してください。結合セルが多いシート構成ではテーブル化が適さないケースもあります。

CHECK

▶ 今すぐやること: ハック1の動的条件セル(月初・月末セル)を請求管理シートに追加し、今月の請求済み件数を1式で取得する(10分)

Q: COUNTIFSでワイルドカードは使えますか?

A: 使えます。“*完了*”(前後一致)、“完了*”(前方一致)、“*完了”(後方一致)が使用可能です。数値条件や日付条件にはワイルドカードは使用できません。

Q: 重複なしの件数を数えたい場合はどうすればよいですか?

A: COUNTIFSだけでは重複排除ができません。SUMPRODUCT関数と1/COUNTIFを組み合わせる方法か、データの事前クレンジングが必要です。

COUNTIFSの実例は2パターンで比較

「書き方は分かったけど、実際の表でどう使うか」を確認できるよう、フリーランスの実務で多い2つのパターンを示します。

案件管理シートでのAND条件集計

A列に「担当者名」、B列に「ステータス」、C列に「請求日」が並ぶ案件管理シートを想定します。「担当者が田中かつステータスが請求済の件数」は=COUNTIFS(A2:A200,”田中”,B2:B200,”請求済”)で取得できます(Money Forward Biz: COUNTIFS活用シーン)。この式をコピーして担当者名だけ変えれば担当者別の請求済み件数一覧が2分で完成します。COUNTIFSを使うことで従来フィルターを繰り返していた作業を1シートの集計表に置き換えられます。

AND条件でのフィルタリングが式1行で完結するようになったと、フリーランスのExcel活用経験者は報告しています(フリーランスのExcel活用: COUNTIF複数条件の3パターン)。

日付期間を指定した売上件数の集計

D列に「売上計上日」、E列に「金額」が入った売上管理シートで、特定月の売上件数を数える場合、=COUNTIFS(D2:D200,”>=”&DATE(2025,1,1),D2:D200,”<=”&DATE(2025,1,31))と記述します。DATE()関数で日付を指定すると、システムの日付設定に依存せず確実に動作します。年月を変えるだけで任意月の集計に切り替えられ、月次報告書の集計作業を効率化できます。

条件範囲の整合性やセル参照による再利用など、学習途中でつまずきやすいポイントを押さえることで実務での活用精度が上がるという報告があります(CodeCamp: ExcelのCOUNTIF関数とCOUNTIFS関数を基礎から解説)。

GoogleスプレッドシートとExcelの違いや使い分けを理解しておくと、どちらの環境でもCOUNTIFSを活用できます。

CHECK

▶ 今すぐやること: 自分の案件管理シートで「ステータス列と担当者列の2条件」を使ったCOUNTIFSを1つ入力し、フィルター結果と件数が一致するか確認する(5分)

Q: COUNTIFS以外で複数条件集計をする方法はありますか?

A: SUMPRODUCT関数で同様の集計が可能です。配列演算を使うためCOUNTIFSより柔軟ですが、式が長くなります。OR条件が必要な場合はSUMPRODUCTが適しています。

Q: ケーススタディの集計式はそのままコピーして使えますか?

A: 列の並びが異なる場合は範囲を変更する必要があります。A列・B列・C列の位置を自分のシートに合わせて修正してから使用してください。

COUNTIFSを使いこなす:条件ペアの追加で集計が完結する

COUNTIFSは「条件範囲と検索条件のペアを追加するだけ」という構造で、基本構文は=COUNTIFS(範囲1, 条件1, 範囲2, 条件2)です。フリーランスの実務では、動的条件セルによる月次自動切り替え・空白判定による未処理案件の可視化・OR条件のCOUNTIFS加算代替の3つを押さえれば、案件管理から請求管理まで必要な集計の大部分をカバーできます。エラーが出た場合はまず条件範囲の行数が揃っているかを確認するのが最速の解決策です。

今日から使い始めるなら、まず手元のシートに=COUNTIFS(ステータス列,”完了”,担当者列,”自分の名前”)を1つ入力してみてください。たった1式でフィルター作業が不要になる体験が、COUNTIFS活用の最初の手応えになります。

Excel VBAを活用した自動化と組み合わせると、COUNTIFS集計をさらに効率化できます。

状況次の一歩所要時間
集計式が初めての方A列・B列2条件の基本式を1つ入力して動作確認3分
エラーが出ている方各条件範囲の終端行番号を揃えて再入力2分
月次報告を効率化したい方ハック1の動的条件セル(月初・月末)を設置10分
OR条件が必要な方COUNTIFS2本を加算する式に書き換え5分

COUNTIFS使い方に関するよくある質問

Q: COUNTIFSで127条件以上は指定できませんか?

A: Excelの仕様上、127ペア(254引数)が上限です(Microsoft Support: COUNTIFS 関数)。127ペアを超える場合は、集計ロジックをPower QueryやVBAに移行するか、条件を絞り込んで事前フィルターを施したデータを集計することを検討してください。

Q: COUNTIFSで大文字・小文字は区別されますか?

A: 区別されません。“ABC”“abc”は同一条件として処理されます。大文字・小文字を区別して集計したい場合はEXACT関数とSUMPRODUCTを組み合わせる方法が必要です。

Q: スプレッドシートとExcelでCOUNTIFSの動作に違いはありますか?

A: 基本的な動作は同一です(Microsoft Support: COUNTIFS 関数)。スプレッドシートでは配列数式の扱いや日付シリアル値の起点が異なる場合があるため、日付条件を使う式は実際のデータで動作確認してください。

【出典・参照元】

Microsoft Support: COUNTIFS 関数

Microsoft Support: COUNTIF 関数

Money Forward Biz: エクセルのCOUNTIFS関数とは?使い方や複数条件の指定方法

SBBIT: COUNTIFS関数をわかりやすく図解

できるネット: COUNTIFS関数 – 複数の条件に一致するデータの個数を求める

ノジマ: COUNTIFS活用法

フリーランスのExcel活用: COUNTIF複数条件の3パターン

CodeCamp: ExcelのCOUNTIF関数とCOUNTIFS関数を基礎から解説