Excel 検索条件に一致するセルの件数を取得(COUNTIF関数)

2024年3月28日

English version.

COUNTIF関数は指定したセル範囲で検索条件を満たすセルの

件数を表示する関数でCOUNT関数の拡張版です。

COUNTIF関数の上位版で複数条件を指定するCOUNTIFS関数も存在します。

目次

仕様

=COUNTIF(範囲,検索条件)
引数省略時の値説明
範囲省略不可集計と検索条件の評価対象となるセル範囲を指定。
検索条件省略不可集計する条件を指定。
各引数の詳細

使用例

例えば商品の中で特定のカテゴリの件数だけを集計するようなケースで使用します。

また特定の金額以上の件数といった大小比較が条件となる場合にも利用可能です。

集計元表

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

集計元表
集計元表

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

C列の種類に一致する件数を集計元表から検索し取得する例です。

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

特定の文字列に一致する件数を集計する例
特定の文字列に一致する件数を集計する例

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

引数設定例
範囲集計元表の種類のセル範囲(絶対参照)
検索条件結果表の種類のセル(D14ではC14)
引数の設定例

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

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

ワイルドカードを使用する例

前方一致、部分一致、後方一致をワイルドカードの* (アスタリスク)を用いて

実現することも可能です。

「犬」を含む文字を例に3種類を例示します。

  • 検索条件を数式に直接指定する例
  • 検索条件をセル指定する例1
  • 検索条件をセル指定する例2(ワイルドカードは数式で指定)
ワイルドカードによる部分一致の例
ワイルドカードによる部分一致の例

検索条件には"*犬*"という文字列を指定する必要があります。

"犬"をセル指定で実現したい場合は"*"を&で文字列連結し"*"&セル指定&"*"のように

数式を組む必要があります。

なお、この例は部分一致ですが、*を後ろだけにすれば前方一致、前だけにすれば後方一致になります。

数値の閾値を設定して検索する例

特定の金額以上の件数を取得する例です。

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

数値の閾値を設定して集計する例
結果表

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

ここの例では1行目は400円以上の件数、2行目は1,000円以上の件数を出しています。

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

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

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

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

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

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

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

スピルでCOUNTIF関数を記述する例(D14セル)
スピルでCOUNTIF関数を記述する例(D14セル)

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

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

D14に指定したCOUNTIF関数がD17まで自動拡大
D14に指定したCOUNTIF関数がD17まで自動拡大

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

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

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

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

またBYCOLBYROWを使用してもスピルになります

=BYROW(A1:C3,LAMBDA(r,COUNTIF(r,">=5")))

行方向のスピル
=BYCOL(A1:C3,LAMBDA(c,COUNTIF(c,">=5")))

列方向のスピル

Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。

関連記事

COUNT系関数

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

具体的な活用例

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

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

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

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

高度な利用方法

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

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

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

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

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

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

VLOOKUP関数との組み合わせ

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

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

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

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

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

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