-
Home »
-
エクセル関数一覧表 »
- 条件に一致するセルをカウントする(COUNTIFS関数,COUNTIF関数)
作成:2004/4/7;更新:2023/10/13
- 一応、条件の数によって2つの関数を使い分かるようになっているイメージですが、COUNTIFS関数だけで1つの条件でもカウントができます。
複数条件の場合はCOUNTIFS関数・・・といった書き方をしていますが、実は1つの条件でもCOUNTIFS関数を使った方が余計なことを考えなくてよろしいと思います。COUNTIF関数は忘れてOKです。
他の S付きの関数も同じです。AVERAGEIFS,SUMIFS,IFSなどです。
MAXIFSやMINIFS関数はExcel2019で追加されましたが、MAXIFとMINIFといったものは存在していません。 - Excel2007でCOUNTIFS関数が追加されたのですが、従来のCOUNTIF関数を無視することができないので併記する形態でページを作成していました。
- 現在は2021年も終わろうとする時期で15年も時を経ていますので、ページの構成を変更します。
説明の順序をCOUNTIFS関数をCOUNTIF関数の前にします。(記 2021/12/14) - このページで使用するデータです。コピーしてお使いください。
|
B |
C |
D |
E |
F |
G |
2 |
連番 |
氏名 |
性別 |
年齢 |
出身地 |
血液型 |
3 |
1 |
上原嘉男 |
男 |
44 |
福岡県 |
O |
4 |
2 |
森永彩芽 |
女 |
58 |
長崎県 |
A |
5 |
3 |
古田恵 |
女 |
41 |
大分県 |
AB |
6 |
4 |
太田千恵子 |
女 |
34 |
宮崎県 |
B |
7 |
5 |
豊田啓一 |
男 |
38 |
鹿児島県 |
O |
8 |
6 |
新村遥奈 |
女 |
29 |
福岡県 |
A |
9 |
7 |
坂元彩香 |
女 |
38 |
長崎県 |
AB |
10 |
8 |
坪井尚生 |
男 |
45 |
大分県 |
A |
11 |
9 |
西原舞 |
女 |
47 |
宮崎県 |
B |
12 |
10 |
中野野乃花 |
女 |
51 |
鹿児島県 |
O |
13 |
11 |
岩渕佳代 |
女 |
44 |
福岡県 |
A |
14 |
12 |
市村将文 |
男 |
58 |
長崎県 |
AB |
15 |
13 |
芦田公平 |
男 |
59 |
大分県 |
A |
16 |
14 |
高見美姫 |
女 |
34 |
宮崎県 |
AB |
17 |
15 |
高山晴彦 |
男 |
65 |
鹿児島県 |
B |
18 |
16 |
高島嘉子 |
女 |
53 |
福岡県 |
A |
19 |
17 |
蛭田功一 |
男 |
46 |
長崎県 |
O |
20 |
18 |
北奈那 |
女 |
42 |
大分県 |
B |
21 |
19 |
本田明莉 |
女 |
62 |
宮崎県 |
A |
22 |
20 |
東海林真依 |
女 |
63 |
鹿児島県 |
AB |
COUNTIFS関数:複数の検索条件に一致するセルの個数を返します。 Topへ
カウント イフズ
COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2...)
Excel2007で追加された関数です。
条件は「条件1AND条件2...」のANDでの結果になります。
- 複数の条件でセルの個数をカウントすることができます。
上記の単一条件でセルの個数をカウントするCOUNTIF関数と同様の計算もCOUNTIFS関数で求めることができます。
- 【問題1】上記の名簿の男と女の血液型別の人数をJ3:M4セルに計算しなさい
- 問題1の解答例
-
スピルが利用できる場合(Excel for Microsoft365 、Excel2021など)
- Excel for Microsoft365などスピル(Spill)の機能が利用できる場合は、
J3セル =COUNTIFS(D3:D22,I3:I4,G3:G22,J2:M2) と入力するだけで計算ができます。
- Spillエラーが出る場合は セル範囲J3:M4の 数式を入力するJ3セル以外は空欄にしておく必要があります。
-
COUNTIFS関数で数式を作成する
- 男のA型を求める場合は =COUNTIFS(D3:D22,I3,G3:G22,J2) とします。
-
数式オートコンプリートを使って数式(関数)を入力する
- 数式を入力するセル J3を選択します。
数式バーに =cou と入力すると、リストに COUNTIFS が表示されるので、[↓]キーを4回押してCOUNTIFS を選択して、[Tab]キーを押します。[Enter]キーではありません。
- =COUNTIFS( と表示されます。
D3セルをマウスでクリックして選択し、[Shift]+[Ctrl]+[↓]キーを押して D3:D22を選択し、[F4]キーを押して$D$3:$D$22と絶対参照とします。
[,]キーを入力します、
- I3 と入力して、[F4]キーを3回押して $I3 と複合参照にします。男と女はI列にあり、列番号を固定します
- G3セルをマウスでクリックして選択して、[Shift]+[Ctrl]+[↓]キーを押して G3:G22を選択し、[F4]キーを押して$G$3:$G$22と絶対参照とします。
[,]キーを入力します、
J2と入力して、[F4]キーを2回押して、J$2 と複合参照とします。血液型は 2行目を参照するので 行番号を固定します
) を入力します。
数式は =COUNTIFS($D$3:$D$22,$I3,$G$3:$G$22,J$2) となります。
[Ctrl]+[Enter] で数式の入力を確定します。
- [Ctrl]+[Enter] で数式の入力を確定すると、アクティブセルはJ3セルのままですので、すぐにフィルハンドルをドラッグする操作ができます。
[Enter]キーで確定すると、アクティブセルがJ4セルに移動するので、[↑]キーを押してJ3セルをアクティブにする操作が余計になります。
- 下図のように、J3セルに数式を入力したら、フィルハンドルを右方向へドラッグして、M3セルまで数式をコピーします。
- さらに、J3:M3セルを選択している状態で、フィルハンドルを下方向へドラッグして、J4:M4セルに数式をコピーします。
これが、従来の計算式の入力方法になります。
- 【問題2】上記の名簿で30歳代の女性の数をカウントしなさい。
- 問題2の解答例 30歳代を30以上かつ40未満 と考えると、

=COUNTIFS(G3:G22,">=30",G3:G22,"<40",E3:E22,"女") で求めることができます。
検索条件に合うセルを数える。 topへ
カウントイフ
=COUNTIF(範囲,検索条件)
検索条件に文字や式を使う時には「"」(半角の二重引用符)で囲みます。
- COUNTIF関数を使わずともCOUNTIFS関数で計算できます。数式に S が増えるだけです。
一応併記しておきます。
- ここでは、COUNTIF関数で文字列が完全に一致するセルの個数を数えます。
- 【問題1】名簿から男性の数をカウントしなさい。
- 問題1の解答例
COUNTIF関数を使って求めます。
=COUNTIF(D3:D22,"男") と入力します。なお、検索条件は文字列ですのでダブルクォーテーションでくくります。
- COUNTIFS関数でも同じように求められます。
=COUNTIFS(E3:E22,"男")

- COUNTIF関数ではワイルドカードが使用できます。
ワイルドカード文字:?(クエスチョンマーク) *(アスタリスク) ~(チルダ) を使います。
- ? は任意の 1 文字
例)鹿児島県や鹿児島市を指定したい場合1文字(県と市)だけ異なるので、「鹿児島?」とします。
- * は任意の数の文字
例)鹿児島県 宮崎県 など 県を含む文字を指定したい場合、鹿児島(3文字)と宮崎(2文字)が異なるので「*県」とします。
- ?や*の検索には ~(チルダ) を使用します。
- 【問題2】 上記の名簿で氏名が 高 で始まる人の数を数えなさい。
- 問題2の解答例
- ワイルドカードの *(アスタリスク) を使って、 検索条件を "高*" とすると、氏名が 高 で始まるセルの数をカウントすることができます。
=COUNTIF(C3:C22,"高*") とします。
(ワイルドカード文字の * は半角文字で入力します)
- =COUNTIFS(C3:C22,"高*") で求めることができます。
- 【問題3】 上記の名簿で氏名が 子 で終わる人の数を数えなさい。
- 問題3の解答例
- ワイルドカードの *(アスタリスク) を使って、 検索条件を "*子" とすると、氏名が 子 で終わるセルの数をカウントすることができます。
=COUNTIF(C3:C22,"*子") とします。
(ワイルドカード文字の * は半角文字で入力します)
- =COUNTIFS(C3:C22,"*子") で求めることができます。
- 【問題4】 上記の名簿で氏名が3文字の人をカウントしなさい。
- 問題4の解答例
- ワイルドカードの ?(クエスチョンマーク) を使って、 検索条件を "???" とすると、氏名が3文字のセルの数をカウントするここができます。
=COUNTIF(C3:C22,"???") とします。
(ワイルドカード文字の ? は半角文字で入力します)
- =COUNTIFS(C3:C22,"???") で求めることができます。
- 【問題5】 上記の名簿で氏名の2文字目に 田 を含む人をカウントしなさい。
- 問題5の解答例
- ワイルドカードの ?(クエスチョンマーク)と *(アスタリスク) を使って、 検索条件を "?田*" とすると、氏名の2文字目が田のセルの数をカウントするここができます。
=COUNTIF(C3:C22,"?田*") とします。
(ワイルドカード文字の ? と * は半角文字で入力します)
- =COUNTIFS(C3:C22,"?田*") で求めることができます。
- COUNTIFS関数がExcel2007以降で使えるようになりましたので、COUNTIFでこのような使い方はしなくてもよくなりました。
考え方の一例として挙げておきます。
- 【問題6】 上記の名簿で年齢が30歳代の人の数を数えなさい 。年齢はリストに表示されている年齢とします。
- 【解答6例】
- 30歳代ということは30以上から40以上の数を差し引けばよいと考えることができます。
イメージは下図のような感じです。オレンジ色の部分をそれぞれが計算しています。

よって、K4セルの数式は =COUNTIF(G3:G22,">=30")-COUNTIF(G3:G22,">=40") となります。
COUNTIFS関数を使うと =COUNTIFS(E3:E22,">=30",E3:E22,"<40") となります。

- 40未満から30未満の数を差し引くと考えると、=COUNTIF(G3:G22,"<40")-COUNTIF(G3:G22,"<30") とすることもできます。
イメージは下図のような感じです。オレンジ色の部分をそれぞれが計算しています。

- ここでは、Microsoft365で使用できる UNIQUE関数とCOUNTIF関数でスピルの機能を利用してみます。
- K3セルに =UNIQUE(I3:I22) と入力して、ユニークな(重複しない)血液型を抽出します。
- L3セルに =COUNTIF(I3:I22,K3#) と入力します。=COUNTIFS(I3:I22,K3#) でもOKです。
K3# の # はスピル範囲演算子と呼ばれ、スピルで生成される範囲を指定できます。
- ここの例題では AB型がいないので、データを修正してみます。
数式を変更する必要はなく、ABが追加され、人数もカウントできました。
スポンサードリンク
Home »
エクセル関数一覧表 » 条件に一致するセルをカウントする(COUNTIFS関数,COUNTIF関数)
PageViewCounter

Since2006/2/27