Excel 複数の条件に一致する行数を取得(COUNTIFS関数)

2024年3月28日

English version.

複数の条件に一致する件数を表示する関数です。

COUNTIF関数は条件と範囲が単一ですが、こちらは複数の条件と条件範囲です。

COUNTIFS関数の方が上位互換版であり

MIN関数MAX関数には複数指定のIFS版しかなく構造も同様です。

よってCOUNTIF関数よりCOUNTIFS関数の使用を推奨します。

またXLOOKUP関数(VLOOKUP関数)では一致する件数を出せませんが、

COUNTIFS関数であれば条件に該当する個数を出すことが可能です。

この記事ではCOUNTIFS関数の仕様と使い方を紹介します。

目次

仕様

=COUNTIFS(検索条件範囲1,検索条件1 …省略… 検索条件範囲127,検索条件127)
引数省略時の値説明
検索条件範囲1~1271のみ省略不可条件の対象となるセル範囲を指定。
検索条件1~1271のみ省略不可集計に含める条件を指定。
各引数の詳細

使用例

例えば商品の中で特定のカテゴリであり、かつセール対象となっている

件数だけを取得するような、ケースに使用することが出来ます。

またセール対象且つ特定の単価以上の件数といった

大小比較が条件となる場合にも使用可能です。

集計元表

下記の表を参照するCOUNTIFS関数を例示します。

集計元表
集計元表

特定の文字列に一致する件数を取得する例

C列の種類に一致する、かつセール対象となっている件数を

集計元表から検索し取得する例です。

D列がCOUNTIFS関数を使った結果です。

 結果表
結果表

COUNTIFS関数に下記のようにセル指定します。

引数設定値
検索条件範囲1集計元表の種類のセル範囲(絶対参照)
検索条件1結果表の種類のセル(D16ではC16)
検索条件範囲2集計元表のセール対象のセル範囲(絶対参照)
検索条件2"●"
引数の設定例

検索条件範囲1~2はコピーで位置が変わっても参照先の一覧表は変わらないため、

コピーしても固定されるよう絶対参照で指定します。

今回は完全一致させていますが、ワイルドカードを用いて部分一致させることも可能です。

数値の閾値を設定して件数を取得する例

特定の単価以上で、かつセール対象である件数を取得する例です。

D列がCOUNTIFS関数を使った結果です。

結果表
結果表

検索条件に比較演算子を指定して特定数値以上や以下などの条件を設定することが可能です。

ここの例では1行目は単価200円以上のセール対象の件数、

2行目は単価300円以上のセール対象の件数を出しています。

なお比較演算子は"(ダブルコーテーション)で囲み、文字列として扱う必要があります。

&(アンパサンド)は文字列連結演算子です。

D21の「">="&C21」は結果として">=200"と処理されます。

複数の検索条件範囲に同じセル範囲を指定して、範囲指定することも可能です。

=COUNTIFS($E$4:$E$11,">="&J4,$E$4:$E$11,"<"&K4)

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には条件を複数セルの範囲で指定します。

スピルでCOUNTIFS関数を記述する例(E16セル)
スピルでCOUNTIFS関数を記述する例(E16セル)

数式を入力するのは最初の一つのセルですが、

引数2と4で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

E16に指定したCOUNTIFS関数がE19まで自動拡大
E16に指定したCOUNTIFS関数がE19まで自動拡大

スピルを利用することで今回の例では、

E16セルに入力するだけでよいため(E17以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

またBYCOLBYROWを使用するとスピルになります。

=BYROW(A1:C3,LAMBDA(r,COUNTIFS(r,">=2",r,"<=8")))
行方向のスピル
=BYCOL(A1:C3,LAMBDA(c,COUNTIFS(c,">=2",c,"<=8")))
列方向のスピル

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

COUNT系関数

関数重要度説明
COUNT数値の件数を取得
COUNTA空白以外の件数を取得
COUNTBLANK空白の件数を取得
COUNTIF検索条件に一致するセルの件数を取得
COUNTIFS複数の条件に一致するセルの件数を取得

具体的な活用例

プラスの数値のみ件数を数える方法

同じ列に重複データがある場合、セル色を変更して検知する方法

指定値が表に存在するかを確認する方法

論理値(TRUE、FALSE)の件数を集計する方法

高度な利用方法

重複除外してカウントする方法(重複データは1件として数える)

SUMIF関数やCOUNTIF関数で「以上」「以下」を指定する方法

COUNTIFS関数で不等号を文字列として扱う方法

「重複する値を強調」で不等号<>から始まる文字を正常に処理する方法

COUNTIFS関数で特定の文字列を含む件数を取得する方法

COUNTIFS関数でワイルドカード(*?)を文字列として扱う方法

VLOOKUP関数との組み合わせ

土日と祝日に色を自動設定する方法

VLOOKUP関数で最後の値を取得(後ろから検索)する方法

RANK関数で同順位を発生させずに順位表を作成する方法

VLOOKUP関数で集計(合計・平均・個数など)を取得したい場合の対処方法

IF系関数の使い方・活用方法の記事一覧

関数の仕様と使い方の記事一覧