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
DCOUNT関数の使い方(データベース関数):Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
DCOUNT関数の使い方(データベース関数)
更新:2025/10/13;作成:2015/12/12
数値が入力されているセルの個数を求める
ディー カウント
=DCOUNT(Database,フィールド,Criteria)
ここでは下表のデータを使って説明します。
B
C
D
E
F
G
H
2
No
名前
性別
年齢
血液型
情報A
情報2
3
1
今泉真理
女
50
AB
61
59
4
2
藤村美奈子
女
34
B
49
92
5
3
寺田琉那
女
25
AB
61
69
6
4
五十嵐篤
男
22
B
30
68
7
5
大場龍雄
男
40
A
73
37
8
6
吉川好子
女
28
A
45
欠席
9
7
北章司
男
45
O
90
60
10
8
田ノ上義昭
男
20
B
61
欠席
11
9
露木志帆
女
24
B
85
62
12
10
野島昌彦
男
50
O
72
55
13
11
山岡陽菜乃
女
45
A
81
47
14
12
吉崎光雄
男
40
B
68
77
15
13
水口勝昭
男
28
A
70
58
16
14
岡田真由
女
39
AB
欠席
51
17
15
臼井幸也
男
32
AB
38
54
18
16
森岡果凛
女
34
B
41
64
19
17
川村心
女
23
O
88
50
条件が一つの場合 topへ
【問題】性別が「女」の「情報A」を受験した人数を求めなさい。
ここの例では受験していない場合は「欠席」と入力されています。
【解答例】
求める条件を入力します。
ここではJ2セルにフィールド名「性別」を入力し、J3セルに条件となる「女」と入力しました。
数式は =DCOUNT(B2:H19,G2,J2:J3)
女性の数は9ですが、一人は欠席のため、情報Aの列の数値のセル数は8となります。
なお、この数式ではデーターベースのフィールドのセル G2 を指定 しています。
DCOUNT関数の引数のフィールドには "情報A" とフィールド名を入力したり、データベースの列の順番の 6 と入力することもできます。
フィールド名(列見出し)を数式に使うと =DCOUNT(B2:H19,"情報A" ,J2:J3) となります。
列の順番を使うと =DCOUNT(B2:H19,6 ,J2:J3) となります。
DCOUNT関数の引数ダイアログを使う場合は、データベースに B2:H19 、フィールドに G2 、条件に J2:J3 と入力します。
条件を数式で入力することもできます。
ここの例では J9セルに「条件」と入力していますが、J9セルは空欄でもよいし、フィールド名と重ならない文字列でもよい です。
J10セルの条件の数式は データの最初の行を使って作成します。 ここでは =D3="女" と論理式を入力 しています。
数式は =DCOUNT(B2:H19,G2,J9:J10) としました。
なお、配列数式やSUMPRODUCT関数でも求めることもできます。
Excel for Microsoft365,Excel2021以降の動的配列数式が使える場合は
=SUM((D3:D19="女")*ISNUMBER(G3:G19)) と入力します。
Excel2019以前のバージョンでは
[Ctrl]+[Shift]+[Enter]で入力を確定する配列数式(CSE)にする必要があります。 {=SUM((D3:D19="女")*ISNUMBER(G3:G19))}
=SUMPRODUCT((D3:D19="女")*ISNUMBER(G3:G19))
SUMPRODUCT関数の詳細な使い方は SUMPRODUCT関数の使い方:Excel関数 をご覧ください。
条件が複数ある場合(AND条件とOR条件) topへ
ポイントは条件の書き方になります。
条件をフィールドと値で書き出す場合、AND条件は同一行、OR条件は異なる行に書き出すというルールがあります。 【問題1】性別が「女」で血液型が「AB」の情報Aの受験者数を求めなさい。 問題1の解答例 【問題2】性別が「女」で血液型が「AB」または「B」の情報Aの受験者数をカウントしなさい。 問題2の解答例 【問題3】年齢が20歳代の人の情報Aの受験者数をカウントしなさい。 問題3の解答例
この問題は 性別が女 AND 血液型がAB というAND条件になります。
AND条件の場合は同じ行に条件を書きます。
J2:K2セルに条件とするフィールド名を入力します。
J3:K3セルに条件となる値をそれぞれ入力します。
計算式は =DCOUNT( B2:H19 , G2 , J2:K3 ) としました。
性別が女で血液型ABの人数は3ですが一人は欠席のため数値のセル数は 2 となります。
条件を論理式で書くと =(D3="女")*(F3="AB") とすることができます。AND条件は乗算で表すことができます。
J9セルには、データベースのフィールドと異なる文字列を入力するか、空欄にします。
ここでは「条件」と入力しました。
受験者数は =DCOUNT( B2:H19 , G2 , J9:J10 ) で求めることができます。
条件は AND関数を使うと =AND(D3="女",F3="AB") と書くこともできます。
なお、配列数式やSUMPRODUCT関数でも求めることもできます。
{=SUM((D3:D19="女")*(F3:F19="AB")*ISNUMBER(G3:G19))}
=SUMPRODUCT((D3:D19="女")*(F3:F19="AB")*ISNUMBER(G3:G19))
日本語の読解問題にもなりますが、条件は「女」の「AB] または 「女」の「B] というOR条件の平均値を求めることになります。
OR条件の場合は異なる行に条件を書きます。
よって条件は下図のJ3:K4のように2行に分けて入力します。
数式は =DCOUNT(B2:H19,G2, J2:K4 ) としました。
条件を数式で書くこともできます。
ここでは 条件を =(D3="女")*(F3="AB")+((D3="女")*(F3="B")) としました。
条件を満たすセルの数を求める数式は =DCOUNT(B2:H19,G2,J9:J10) となります。
なお、条件は =(D3="女")*((F3="AB")+(F3="B")) と書くこともできます。
論理式では AND条件は * 、OR条件は + で書くことができます。
AND関数とOR関数を使って条件を書くこともできます。
=OR(AND(D3="女",F3="AB"),AND(D3="女",F3="B"))
または =AND(D3="女",OR(F3="AB",F3="B")) とします。
なお、配列数式やSUMPRODUCT関数でも求めることもできます。
{=SUM(((D3:D19="女")*(F3:F19="AB")*ISNUMBER(G3:G19))
+((D3:D19="女")*(F3:F19="B")*ISNUMBER(G3:G19)))} =SUMPRODUCT(((D3:D19="女")*(F3:F19="AB")*ISNUMBER(G3:G19))
+((D3:D19="女")*(F3:F19="B")*ISNUMBER(G3:G19)))
年齢が20歳代とは 20以上 かつ 30未満となります。
このように同じフィールドで複数のAND条件がある場合は 下図のJ2:K3セルのように同じ行にフィールドを並べて書く必要があります。
数式は =DCOUNT(B2:H19,G2, J2:K3 ) としました。
条件を数式で書くと =AND(E3>=20,E3<30) とすることができます。
カウントの計算は =DCOUNT(B2:H19,G2,J9:J10) としました。
条件を論理式で書くと =(E3>=20)*(E3<30) となります。
なお、配列数式やSUMPRODUCT関数でも求めることもできます。
{=SUM((E3:E19>=20)*(E3:E19<30)*ISNUMBER(G3:G19))}
=SUMPRODUCT((E3:E19>=20)*(E3:E19<30)*ISNUMBER(G3:G19))
スポンサードリンク
Home »
エクセル関数一覧表 »
DCOUNT関数の使い方(データベース関数)
PageViewCounter
Since2006/2/27