Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
データをカウントする関数の技:Excel関数の技
Home »
エクセル関数の技 »
データをカウントする関数の技
データをカウントするワークシート関数の使い方をまとめて説明しています 。
COUNT、COUNTA、COUNTBLANK、COUNTIF、COUNTIFS、SUMPRODUCT、DCOUNT、DCOUNTA の8種類の使い方を解説しています。
更新:2025/4/5;作成:2007/4/14
COUNT系の関数について
COUNT
数値を含むセルをカウントします
COUNTA
空白ではないセルをカウントします
COUNTBLANK
空白のセルをカウントします
COUNTIF
指定された条件を満たすセルをカウントします
COUNTIFS
複数の条件を満たすセルをカウントします
COUNT系の関数でカウントできるデータの種類。
B列のセルに入力されているデータを数えています。カウントできない場合は0となります。
COUNT関数:=COUNT(数値1,数値2,・・・)
数値が入力されたセルをカウントします。
引数に数値、論理値、数値を表す文字列を指定した場合はカウントされます。
=COUNT( 123,"123",2024/5/2,"2024/5/2",TRUE ) は5となります。
すべてカウントできるのが確認できます。
TRUEとFALSEは論理値なので引数に記述するとカウントされます。
しかし、セルに入力された場合や=COUNT("TRUE","FALSE")とすると文字列となり、カウントされず「0」となります。
COUNTA関数:=COUNTA(数値1,数値2,・・・)
値が入力されているセルをカウントします。
空白セル(未入力セル)はカウントされないが、""(空白文字列,長さ0の文字列)はカウントされます 。
言い換えれば、未入力セル以外をカウントします。
COUNTBLANK関数:=COUNTBLANK(範囲)
未入力のセルと空白文字列(数式などで返された""のことです)のセルをカウントします。
COUNTIF関数:=COUNTIF(範囲,検索条件)
検索条件の書き方がセルを参照するときはちょっと異なります。
商品名が「りんご」のセル数をカウントする場合、
=COUNTIF($B$2:$B$9,E2 ) または =COUNTIF($B$2:$B$9,"りんご" )
「りんご以外」のセル数を数える場合、
=COUNTIF($B$2:$B$9,"<>"&E2 )または=COUNTIF($B$2:$B$9,"<>りんご" )
数量が300以上のセルを数える場合、=COUNTIF(C2:C9,">=300" ) とします。
比較演算子
演算子
名称
使用例
結果
=
等しい
=10
10と等しい
<>
等しくない
<>10
10と等しくない
>
より大きい
>10
10より大きい
<
より小さい
<10
10より小さい
>=
以上
>=10
10以上
<=
以下
<=10
10以下
ワイルドカードと組合せる場合
3文字で2文字目が「ん」のセル =COUNTIF(B2:B9,"?ん?" )
商品名に「ん」を含むもの(この例ではりんごとみかん)のセル数をカウントする
=COUNTIF(C4:C10," * ん * ")
ワイルドカード「* 」を利用しています。
商品名が「ん」で終わるものをカウントするには =COUNTIF(C4:C10," * ん")
商品名が「り」で始まるものをカウントするには =COUNTIF(C4:C10,"ん* ")
商品名の2文字目が「ん」である場合は =COUNTIF(C4:C10," ? ん* ")
ワイルドカードの ? で文字1文字を代用します。
3文字の商品名のものをカウントするには =COUNTIF(C4:C10,"??? ")
商品名が3文字で2文字目が「ん」である場合は =COUNTIF(C4:C10," ? ん? ")
ワイルドカード
意味
使用例
解釈
*
任意の文字列
り* *り *り*
「り」で始まる 「り」で終わる 「り」を含む
?
任意の1文字
り? ?り ???
2文字で1文字目が「り」 2文字で2文字目が「り」 3文字の文字列
~(チルダ)
「*」や「?」を検索するとき
~* ~?
*のセルを検索する ?のセルを検索する
SUMPRODUCT関数:=SUMPRODUCT(配列1,配列2,配列3,...)
SUMPRODUCT関数を使ってカウントする事もできます。
=SUMPRODUCT( ($B$2:$B$9=E2) *1 )
上の式は=SUMPRODUCT(({TRUE ;FALSE ;FALSE ;FALSE ;TRUE ;TRUE ;FALSE ;TRUE })*1)と配列になっています。
よって、TRUE*1=1、FALSE*1=0となるので、「4」が返ります。
AND条件
[問題] 性別が「男」で出席が「○」のデータ(行)をカウントします。
[解答例1]
COUNTIFS関数の構文:=COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2...)
Excel2021以降でSpillが使える場合は、=COUNTIFS(C3:C9,G3:G4,E3:E9,"○") と入力します。
Spillが使えないバージョンでは =COUNTIFS($C$3:$C$9,G3,$E$3:$E$9,"○) と入力して、数式を下方向へコピーします。
[解答例2]
SUMPRODUCT関数を使い、AND条件では条件式を「* 」(アスタリスク)でつないでいます。
H3セルに =SUMPRODUCT(($C$3:$C$9=G3)* ($E$3:$E$9="○")) と入力して、数式を下方向へコピーします。
OR条件
[問題]出席が○または△のセル数を数える
[解答例]
SUMPRODUCT関数を使って複数条件でカウントする事ができます。
=SUMPRODUCT((E3:E9="○") + (E3:E9="△") )
OR条件では条件式を「+ 」(プラス)でつないでいます。
DCOUNTA関数:=DCOUNTA(Database,フィールド ,Criteria)
DCOUNT関数:=DCOUNT(Database,フィールド ,Criteria)
条件をセル範囲に書き出しておいて該当するフィールドのセル数をカウントします。
AND条件
性別が「男」かつ出席が「○」のデータ(行)をカウントします。
条件はG3:H4に書き出しています。
G6セルの数式は =DCOUNTA(B2:E9,B2,G2:H3) としました。
カウントするフィールド B2(名前)は文字列なので DCOUNTA 関数となります。
=DCOUNTA(B2:E9,D2,G2:H3) とすると、カウントするフィールドD2(年齢)は数値なので DCOUNT関数を使用します。
OR条件
出席が○または△のデータ(行)をカウントします。
OR条件は行に並べて書きます。フィールド名の下3行目と4行目に書いています。
=DCOUNTA(B2:E9,B2,G2:G4)
関連するページ
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数の技 » データをカウントする関数の技
PageViewCounter
Since2006/2/27