Excel初心者

【Excel】COUNTIFS関数の使い方!複数条件でカウントする方法を徹底解説

しんたろ。

COUNTIFS関数を使えば、「東京の男性」「4月以降の売上」のように複数の条件を同時に指定してデータの個数をカウントできます。この記事では基本から応用まで詳しく解説します!

この記事でわかること
  • COUNTIFS関数の基本的な書式と引数の意味
  • COUNTIFとCOUNTIFSの違い
  • 複数条件でデータをカウントする具体的な手順
  • 比較演算子・ワイルドカードの活用方法
  • 日付条件や空白以外のセルをカウントする応用テクニック
この操作、VBAで一瞬で自動化できます
まずは関数の使い方を解説し、最後にVBA自動化コードも紹介します
‘ 複数条件でデータ件数を自動集計するマクロ
Sub COUNTIFS自動集計()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim i As Long
    For i = 2 To 4
        ws.Cells(i, “D”).Value = WorksheetFunction.CountIfs( _
            ws.Range(“A:A”), ws.Cells(i, “B”), _
            ws.Range(“B:B”), ws.Cells(i, “C”))
    Next i
    MsgBox “3件のCOUNTIFS集計が完了しました”
End Sub
下のデモで実行結果を確認できます
📊 販売データ.xlsx – Excel
AB
1 果物名地域
2 いちご福岡
3 みかん愛媛
4 いちご栃木
5 ぶどう山梨
6 いちご福岡
7 みかん福岡
8 ぶどう山梨
DEF
1 果物名地域件数
2 いちご福岡 2
3 みかん愛媛 1
4 ぶどう山梨 2
準備完了 100%
3件の条件組み合わせからデータ件数がCOUNTIFSで自動集計されました!
☝ 条件を増やしてさらに細かく集計することも可能です

COUNTIFS関数とは?基本の書式と引数

COUNTIFS関数(カウントイフス関数)は、複数の条件をすべて満たすセルの個数をカウントするExcel関数です。

例えば「果物がいちご」かつ「地域が福岡」のように、2つ以上の条件を同時に指定してデータを数えたいときに使います。

COUNTIFS関数の書式

=COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2], ...)
引数必須/任意説明
条件範囲1必須1つ目の検索対象となるセル範囲
検索条件1必須1つ目の条件(数値、文字列、セル参照など)
条件範囲2任意2つ目の検索対象となるセル範囲
検索条件2任意2つ目の条件

条件範囲と検索条件のセットは、最大127組まで指定できます。

COUNTIFとCOUNTIFSの違い比較図(1条件vs複数条件)
COUNTIF(1条件)とCOUNTIFS(複数条件)の違い

COUNTIFとCOUNTIFSの違い

COUNTIF関数とCOUNTIFS関数の違いは以下のとおりです。

項目COUNTIFCOUNTIFS
条件の数1つだけ複数指定可能(最大127)
書式=COUNTIF(範囲, 条件)=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, ...)
用途単一条件でカウント複数条件(AND条件)でカウント

COUNTIFS関数はCOUNTIF関数の上位互換です。条件が1つだけのときはCOUNTIF、2つ以上のときはCOUNTIFSと覚えておきましょう!

COUNTIFS関数の基本的な使い方

ここでは、実際のデータを使ってCOUNTIFS関数の使い方を解説します。

複数条件でデータをカウントする手順

例として、果物の販売データから「福岡のいちご」の個数をカウントしてみましょう。

STEP1
データを準備する

B列に果物名、C列に都道府県が入力されたデータを用意します。

STEP2
COUNTIFS関数を入力する

結果を表示したいセルに以下の数式を入力します。

=COUNTIFS(B5:B12, F4, C5:C12, G4)
  • B5:B12 → 果物名の範囲(条件範囲1)
  • F4 → 「いちご」が入力されたセル(検索条件1)
  • C5:C12 → 都道府県の範囲(条件範囲2)
  • G4 → 「福岡」が入力されたセル(検索条件2)
STEP3
Enterキーで確定する

Enterキーを押すと、「福岡のいちご」に該当するデータの個数が表示されます。

絶対参照と相対参照の使い分け

COUNTIFS関数を他のセルにコピーする場合、条件範囲は絶対参照にする必要があります。

コピペすると条件範囲がズレてしまうことがあります。条件範囲には$をつけて絶対参照にしましょう!

参照の種類記述例コピー時の動き
条件範囲(絶対参照)$B$5:$B$12範囲が固定される
検索条件(相対参照)F4コピー先に合わせてズレる

正しい数式の例:

=COUNTIFS($B$5:$B$12, F4, $C$5:$C$12, G4)

COUNTIFS関数で使える比較演算子・ワイルドカード

COUNTIFS関数の検索条件には、比較演算子やワイルドカードを使うことで柔軟な条件指定ができます。

比較演算子一覧と使用例

演算子意味使用例説明
=等しい“=1”1と等しいセルをカウント
<>等しくない“<>りんご”「りんご」以外をカウント
>より大きい“>100”100より大きい値をカウント
<より小さい“<50”50より小さい値をカウント
>=以上“>=80”80以上の値をカウント
<=以下“<=1000”1000以下の値をカウント

例えば、売上が100以上かつ地域が東京のデータを数える場合:

=COUNTIFS(B2:B20, ">=100", C2:C20, "東京")

ワイルドカードで部分一致カウント

記号意味使用例マッチする文字列
*任意の文字列(0文字以上)“*りんご*”青りんご、りんごジュース等
?任意の1文字“?りんご”青りんご(2文字目以降が「りんご」)

比較演算子やワイルドカードを覚えておくと、集計作業の効率がグンとUPしますよ!

COUNTIFS関数の応用テクニック

基本を押さえたら、さらに便利な応用テクニックを覚えましょう。

日付を条件にカウントする方法

特定の期間のデータをカウントしたい場合、比較演算子と日付を組み合わせます。

例えば、2024年4月1日以降のデータをカウントする場合:

=COUNTIFS(A2:A100, ">="&DATE(2024,4,1))

2024年4月1日から6月30日までのデータをカウントする場合:

=COUNTIFS(A2:A100, ">="&DATE(2024,4,1), A2:A100, "<="&DATE(2024,6,30))
日付条件のポイント
  • 比較演算子を""で囲み、&でDATE関数と結合する
  • 同じ範囲に対して「以上」と「以下」を指定すれば期間指定ができる

空白以外のセルをカウントする方法

空白以外のセルを数えたい場合は、検索条件に"<>"を使います。

=COUNTIFS(A2:A100, "<>", B2:B100, "東京")

この数式では、A列が空白でない、かつB列が「東京」のデータをカウントします。

空白セルをカウントしたい場合は""を使います:

=COUNTIFS(A2:A100, "", B2:B100, "東京")

OR条件でカウントする方法

COUNTIFS関数は基本的にAND条件(すべての条件を満たす)ですが、複数のCOUNTIFS関数を足し算することでOR条件を実現できます。

例えば「りんご」または「みかん」の個数をカウントする場合:

=COUNTIFS(B2:B20, "りんご") + COUNTIFS(B2:B20, "みかん")

地域が「東京」または「大阪」で、かつ売上が100以上のデータをカウントする場合:

=COUNTIFS(B2:B20, ">=100", C2:C20, "東京") + COUNTIFS(B2:B20, ">=100", C2:C20, "大阪")

COUNTIFSをVBAで自動集計する方法

COUNTIFS関数の集計処理をVBAマクロで自動化すれば、複数条件の集計を一括で実行できます。

' 複数条件でデータ件数を自動集計するマクロ
Sub COUNTIFS自動集計()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim i As Long
    For i = 2 To 4
        ws.Cells(i, "D").Value = WorksheetFunction.CountIfs( _
            ws.Range("A:A"), ws.Cells(i, "B"), _
            ws.Range("B:B"), ws.Cells(i, "C"))
    Next i
    MsgBox "3件のCOUNTIFS集計が完了しました"
End Sub

VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。

よくある質問(FAQ)

COUNTIFS関数で条件を1つだけ指定できますか?

はい、できます。ただし条件が1つの場合はCOUNTIF関数を使うのが一般的です。COUNTIFS関数でも同じ結果が得られます。

COUNTIFS関数の結果が0になるのはなぜ?

以下の原因が考えられます:

  • 条件範囲の行数が揃っていない
  • 検索条件の文字列にスペースが含まれている
  • 数値が文字列として入力されている(表示形式の問題)
COUNTIFS関数で「以上かつ以下」を指定するには?

同じ条件範囲に対して2つの条件を指定します。例えば80以上100以下をカウントする場合:

=COUNTIFS(A2:A100, ">=80", A2:A100, "<=100")
COUNTIFS関数で大文字・小文字は区別されますか?

いいえ、COUNTIFS関数では大文字と小文字は区別されません。「ABC」と「abc」は同じものとしてカウントされます。

💻 操作を体験してみよう!

実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。

X
COUNTIFS デモ.xlsx
F2
← 条件をクリックして選択 =COUNTIFS(B:B,”東京”) → 3 =COUNTIFS(B:B,”大阪”) → 2 =COUNTIFS(B:B,”東京”,C:C,”男”) → 2 =COUNTIFS(D:D,”>=30″) → 4
A B C D E F
1 名前 支店 性別 年齢 条件 件数
2 田中 東京 35 ← 選択 3 2 2 4
3 佐藤 大阪 28
4 鈴木 東京 42
5 高橋 大阪 31
6 伊藤 東京 38
7 山田 名古屋 25
結果: 3件 — 支店が「東京」の行は田中・鈴木・伊藤の3名です。COUNTIFSは指定した条件に合致するセルの個数を返します。
結果: 2件 — 支店が「大阪」の行は佐藤・高橋の2名です。COUNTIF(単数条件)と同じ結果ですが、COUNTIFSは複数条件も指定できます。
結果: 2件 — 「東京」かつ「男」の2条件を同時に満たすのは田中・鈴木の2名です。これがCOUNTIFSの真髄:複数条件のAND集計です。
結果: 4件 — 年齢が30以上の行は田中(35)・鈴木(42)・高橋(31)・伊藤(38)の4名。比較演算子「>=」を使った数値条件です。
▶ E列の条件をクリックして試してみましょう! 単一条件、複数条件(AND)、比較演算子の3パターンを体験できます。
1 セルに =COUNTIFS( と入力
2 検索条件範囲と条件値を指定(例: B:B,”東京”)
3 複数条件はカンマで区切って追加(例: B:B,”東京”,C:C,”男”)
4 Enterで確定 → 条件に合致する件数が表示

まとめ

COUNTIFS関数は、複数の条件を同時に指定してデータの個数をカウントできる便利な関数です。

この記事のポイント
  • COUNTIFS関数は=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, ...)の書式で使う
  • COUNTIFは条件1つ、COUNTIFSは複数条件に対応
  • 比較演算子(>=、<=、<>など)で柔軟な条件指定ができる
  • ワイルドカード(*、?)で部分一致のカウントが可能
  • 日付条件にはDATE関数と&を組み合わせる
  • OR条件はCOUNTIFS同士の足し算で実現できる

COUNTIFS関数を使いこなせば、複雑なデータ集計もサクッとできるようになります。ぜひ実際のデータで試してみてくださいね!


Excelスキルを活かしてSNS運用も自動化しませんか?

Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。

SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較

Excel業務の自動化
その手作業、自動化しませんか?

VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。

1,600部ツール販売実績
15年製造業の業務経験
無料で相談する →
初回相談無料・お見積りだけでもOK
期間限定でChatGPT✖︎Googleスプレットシートのコンテンツ配布中!

LINEでExcelを気軽に学べる

しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
Profile
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
プロフィールを読む

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
記事URLをコピーしました