こうした場合、どの関数を使えば良いですかね?
では、COUNTIFの使い方について解説していきますね。
目次[閉じる]
はじめに
この記事は関数の概要とSUMの使い方を把握していることが前提です。
関数の概要とSUMの使い方については以下の記事をご参照ください。 【Excel】関数とは?作業を自動化する仕組みと使い方【動画あり】 Excel上の計算や入力等を手作業で消耗している方は、関数を活用することで大幅な時短やストレス軽減が可能です。この記事ではExcel関数の初心者向けに、Excel本著者が図解や動画を交えて関数の仕組みや基本の使い方を詳しく丁寧に解説します。 【Excel関数】SUMの使い方|指定範囲の数値の合計を自動化する方法【動画あり】 - Excelを制する者は人生を制す Excelで合計を集計する際、地道に「+」をつなげた数式で消耗している方は、SUM関数を活用することで大幅な時短やストレス軽減が可能です。この記事では、Excel本著者が初心者向けにSUM関数の基本の使い方を図解・動画付きで解説します。![]()
![]()
Excel97-2003ブック(*.xls)で○○別のレコード数をカウントする場合は「COUNTIF」が有効
実務では、データの特徴や傾向を把握するために、商品別や日別などの切り口で集計する機会は非常に多いもの。
こうした条件別の個数を集計する際、商品名や日付などの条件に一致するレコードのみでカウントすれば良いですが、頑張ればCOUNTAでも集計は可能です。
ただし、指定するセル数が多ければ多いほど、手作業は増え、誤ったセルを選択するリスクも増えてしまうため、この方法は非効率です。
こんな場合、関数の「COUNTIFS」を使うことで、条件に一致するレコードのみを対象とし、瞬時に個数を集計することが可能となります。
【関数】特定条件に一致するデータ個数をカウントできる「COUNTIFS」の使い方
解説動画:【数式/関数#8】集計表の作成に役立つワークシート関数4選この記事の内容は下記の動画でも解説しています。コメント欄の各プロセスの時間部分をクリックする・・・
Excelを制する者は人生を制すただし、この関数はExcel2007から登場した関数のため、Excel97-2003ブック(拡張子が「.xls」)だと使うことができません。
理想は対象ブックを「.xlsx」や「.xlsm」へ移行してCOUNTIFSを使うことですが、どうしても「.xls」のExcelブックで集計しないといけないのであれば、昔から存在する「COUNTIF」を使いましょう。
ちなみに、COUNTIFは「カウントイフ」と呼びます。
COUNTIFは指定できる条件が1種類のみですが、条件に一致するレコードのみを対象に個数を集計することが可能です。
よって、Excel97-2003ブック(*.xls)で条件別の個数を集計する場合はCOUNTIFを使用していきましょう。
COUNTIFの構文
COUNTIFの構文は以下の通りです。
=COUNTIF(範囲,検索条件)
指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を返します。
| 引数名 | 必須 | データ型 | 説明 |
|---|---|---|---|
| 範囲 | ○ | 参照 | 「検索条件」の検索対象のセル範囲を指定します。 |
| 検索条件 | ○ | すべて | 「範囲」内のどのセルを計算対象にするかの条件(値やセル番地など)を指定します。 |
引数「検索条件」で255文字より長い文字列を照合すると、間違った結果が返されます。
COUNTIFの使用結果イメージ
COUNTIFで条件別の個数を集計したイメージは以下の通りです。
今回は商品別の個数を集計しました。
ポイントは、引数の「範囲」を各セルで同じ範囲に固定すること。
詳細は記事下部の「【参考】COUNTIFの集計漏れを防ぐTIPS」を参照。
そして、引数「検索条件」は1行ごとにスライドしています。
こうすることで、ベースとなる数式を以降のセルへ使い回せているわけですね。
参照形式(絶対参照/相対参照)の詳細は以下の記事をご参照ください。 【Excel基本】数式を再利用し時短するために必須の相対参照/絶対参照/複合参照とは [char no="1" char="森田"]直接入力ができるようになったのは素晴らしいですね!次のステップとして、数式を再利用し時短できるようになりましょう!・・・![]()
COUNTIFの数式の挿入手順
上記の結果を得るための手順は以下の通りです。
- 関数を挿入するセルを選択
- 「=cou」と入力
- サジェストから「COUNTIF」を選択し、「Tab」キーで確定
- 元データのシートへ移動
※今回は「注文テーブル」シート - 条件の検索対象のセル範囲を選択
※今回は「商品名」列 - コンマ(,)を入力
- 集計表のシートへ移動
※今回は「集計表」シート - 条件となるセルを選択
※今回はA4セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はB5~B12セルへペースト
手順②の際にIMEを半角英数モードにすること。
手順⑧も必要に応じて参照形式を変更すること。(今回は指定しなくともOK)
【参考】COUNTIFの集計漏れを防ぐTIPS
COUNTIFのリスクとしてよくあるのは、関数のセット後、元データへ追加されたレコードが集計範囲から漏れてしまうというケースです。
この原因は、手順⑤の際、セット時点での元データのレコード数で範囲指定しているためです。
よって、COUNTIFのセット時点で、元データにレコードが追加されても問題ない範囲指定を行いましょう。
(詳細は以下参照)
通常のセル範囲が対象
元データが通常のセル範囲の場合は、列単位で指定しましょう。
ワークシート上の列番号(アルファベット部分)をクリックすればOKです。
列全体を対象範囲にしているため、当然レコードが増えても計算対象に含まれます。
なお、COUNTIFの数式を横方向にコピペする際、引数「範囲」を横にスライドさせたくない(固定にしたい)場合は、列を絶対参照にしましょう。
テーブルの列が対象
元データがテーブルの場合は、普通にその列を指定すればOKです。
対象の列名が数式上にセットされ、テーブルにレコード追加されても、集計対象に含まれます。(集計対象範囲が自動拡張される)
特に指定がなければ、元データは事前にテーブルにしておくことがおすすめです。
【応用】Excel97-2003ブック(*.xls)で2種類以上の条件で個数を集計するには
Excel97-2003ブック(*.xls)で条件別の個数を集計する上で問題になるのは、条件が2種類以上になった場合です。
この場合、COUNTIFでは対応できないため、基本的には次の2つのパターンいずれかで対応しましょう。
- SUMPRODUCTで集計
- 元データの表へ条件となる列を追加→COUNTIFで集計
なお、パターン2の方のイメージは以下の通りです。
条件となる列はIF+ANDなどで集計対象のレコードを判定しておきましょう。
AND単独でも可(「TRUE」が集計条件)
SUMPRODUCTで条件別の個数を集計する方法の詳細は以下の記事をご参照ください。 SUMPRODUCT関数で複数条件をカウントする方法 前回SUMPRODUCT関数で配列内の要素の積の合計を算出する方法について解説しました。SUMPRODUCT関数で配列内の要素の積の合計を算出する方法 | Ex・・・![]()
IF+ANDで条件判定する方法の詳細は以下の記事をご参照ください。 【エクセル中級者向け】IF関数の「論理式」をAND条件(○かつ□)にする方法 [char no=3 char="Aさん"]IF関数の条件分岐を「○かつ□」で判定したいのですが、どうしたら良いですかね??[/balloon][char no・・・![]()
【応用】COUNTIFで完全一致以外の条件で集計するには
COUNTIFの引数「検索条件」は「完全一致」が原則です。
もし、完全一致以外の条件で集計したい場合は、「ワイルドカード」と「比較演算子」を活用すればOKです。
COUNTIFで完全一致以外の条件で集計する方法の詳細は以下の記事をご参照ください。 【関数】SUMIFSやCOUNTIFSで完全一致以外の条件で集計する方法 はじめにこの記事はSUMIFS・COUNTIFSの使い方を把握していることが前提です。参考記事SUMIFS・COUNTIFSの使い方については以下の記事をご参照・・・![]()
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_ワークシート関数_COUNTIF.xlsx
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- 関数を挿入するセルを選択
- 「=cou」と入力
- サジェストから「COUNTIF」を選択し、「Tab」キーで確定
- 元データのシートへ移動
※今回は「注文テーブル」シート - 条件の検索対象のセル範囲を選択
※今回は「商品名」列 - コンマ(,)を入力
- 集計表のシートへ移動
※今回は「集計表」シート - 条件となるセルを選択
※今回はA4セル - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はB5~B12セルへペースト
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
COUNTIFは「.xlsx」や「.xlsm」が普及する前までは頻出の関数の一つでした。
自身の職場で今も使われているケースがあるのであれば、COUNTIFSとセットで覚えておくと良いでしょう。
なお、COUNTIF以外にもExcelでのデータ集計の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m
今ではExcel97-2003ブック(*.xls)を触ることがないため、COUNTIFS一本で済むようになってありがたいですね。


コメント Comments
コメント一覧
Hiroshi がコメント
2018年12月9日 11:15 AM
いい記事いっぱいだけど、気になるのが、”・・・・あげます”という言葉。
「・・・を囲んであげます」はおかしい。”囲みます”、または、”囲んでやります”、ではないか。読んでいて気になって仕方がない。
これだけ人気の記事だから考えてみてはいかがでしょう?
内容は素晴らしい、いつも勉強させてもらっています。
森田貢士 がコメント
2018年12月9日 1:15 PM
Hiroshiさん
コメントありがとうございます!
確かに今読むと違和感ありますね・・・。
過去記事はまとめてリライトしますので、その際にご指摘の部分も修正します。
今後ともよろしくお願いいたしますm(_ _)m
トラックバックURL
https://excel-master.net/data-aggregation/countif-technique/trackback/