ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.011

条件を満たすセルの個数を数える 《COUNTIF》

2003/2007/2010/2013

セルの内容で、条件を満たすセルの個数を数えるというケースです。

条件付きの件数を求める場合、COUNTIF関数(分類: 統計)を利用します。
COUNTIF関数は、2つの引数を持ち、引数1つ目の[範囲]で指定したセル範囲の中から、2つ目の引数[検索条件]に指定した条件を満たすセルの個数を返します。

COUNTIF関数のポイントは、ズバリ条件の書き方です。
以下、大きく分けて3種類の条件設定でご案内します。

<完全一致条件>

例えば、A列のデータの中でセルに「●」がいくつあるかを数えたい場合は、次のような式となります。

  =COUNTIF(A:A,"●")

COUNTIF関数

この場合は、条件となっている「●」はセルの内容と完全一致した条件です。
完全一致条件は、そのまま引数に指定します。
文字列の条件の場合はその前後にダブルクォーテーションが必要ですが、数値が条件となる場合はそのまま指定します。

逆に「●」でないデータを数えたい場合は、不等号を使い「"<>●"」と指定します。

<部分一致条件>

部分一致条件の場合の書き方はワイルドカードを利用して書きます。

ワイルドカードとは、森さんだけど名前がわからないときに「森ナントカさん」といった場合のナントカにあてる代替え文字のことをいいます。

ワイルドカードでよく使用するのは、「*」アスタリスク、「?」疑問符です。
アスタリスクは0文字以上複数文字(全角半角問わず)、疑問符は1文字(全角半角問わず)として使用します。

ワイルドカードの使用例は以下をごらんください。

  • Aから始まる …"A*"
  • Aで終わる …"*A"
  • Aを含む …"*A*"
  • 全体3文字でAが2文字目 …"?A?"
  • AとBを含む …"*A*B*"
  • Aを含まない …"<>*A*"

1点注意点があります。
ワイルドカードを使用した条件は、文字列となります。
例えば、3が含まれる数値データの個数を探したいときに、条件で「"*3*"」とすると、条件の意味は「3を含む文字列」となり、数値データではヒットしません。

<大小の条件>

対象が数値データで、以上以下より大きいより小さいといった条件設定は次のとおりです。

  • 8より小さい …"<8"
  • 8より大きい …">8"
  • 8以下 …"<=8"
  • 8以上 …">=8"

引数[検索条件]で上記のような大小の条件の前後には、ダブルクォーテーションが付きます。
関数を手入力で設定するような場合は、ダブルクォーテーションも入力しなくてはいけませんので、ご注意ください。

ヘルプmemo

<COUNTIF関数 (統計関数)>

指定された範囲に含まれるセルのうち、条件に一致するセルの個数を返します。
 数式: =COUNTIF(範囲, 検索条件)
 引数:
  範囲 …セルの個数を求める範囲を指定
  検索条件 …条件となる数値、式、文字列を指定

関連ヘルプ

7桁で入力されている郵便番号のデータにハイフォンを挿入したい 《REPLACE》
左から(右から・途中から)決まった文字数の文字列を取り出す 《LEFT・RIGHT・MID》
余分なスペースを削除してスペースを全角または半角に揃える 《SUBSTITUTE・TRIM》
全角の英数字を半角にするには、またはその逆 《ASC・JIS》
数字文字列を数値にする(関数編) 《VALUE》
別々のセルに入っているデータを結合して(つなげて)表示する 《アンパサンド・CONCAT (CONCATENATE) 》
2つの日付の期間が何年かを求める 《DATEDIF》
セルに入力されている数値を時刻の表示にする 《TIME》
時刻の「8:30」を「8.5」と数値に変換する
循環参照を解決するために
フィルターで抽出されたデータの件数、合計をセルに表示したい 《SUBTOTAL》
検索条件に一致するデータの合計を求める 《SUMIF》
負の小数値を合計したときに計算結果に誤差が生じる
カウントする関数が何をカウントするか 《COUNT・COUNTA・COUNTBLANK》
=のあとに+が表示された「=+」から始まる数式の意味とは
数式で参照しているセルを変更しても、結果が更新されない
セルに計算結果ではなく数式が表示されている
先頭のシングル クォーテーション、アポストロフィー(')を取るには(関数編) 《SUBSTITUTE》
10進数の数値を2進数と16進数に変換するには 《DEC2BIN・DEC2HEX》
月の日数、月末を求める 《EOMONTH》
twitter hatena line pocket