Excelで特定の値や条件を満たす値が複数ある行や列の個数を数える方法を紹介します。
概要
こちらの記事では特定の値を持つセルの個数を数える関数を紹介しました。
利用シーンによっては、複数の行や列に値が設定されており、両方の値が特定の値を持つ行または列の個数を数えたい場合があります。
この記事では、COUNTIFS関数を利用して、特定の値を複数のセルで持つ行や列の個数を数える方法を紹介します。
書式
COUNTIFS関数は以下の書式になります。
=CONTIFS([セルの範囲1], [該当する値1], [セルの範囲2], [該当する値2], ... [セルの範囲n], [該当する値n] )
[セルの範囲1]のセルが[該当する値1]かつ、同じ行、または列の[セルの範囲2]のセルが[該当する値2]かつ、
同じ行、または列の[セルの範囲n]のセルが[該当する値n]の場合にカウントします。
補足
?
は1文字のワイルドカード、*
は1文字以上の複数文字のワイルドカードとして利用できます。
?,*を通常の文字として表現する場合には "~?" "~*" と記述します。
補足
文字列の場合には一致のみの判定ですが、日付や数値の場合は "<" "=" ">" "<=" ">="の等号や不等号を利用できます。
例1
次の表を作成します。
| 8月16日出席 | 9月13日出席 |
ぺんた | 〇 | 〇 |
ぺんこ | × | 〇 |
ぺんのすけ | 〇 | × |
ぺんざぶろう | 〇 | 〇 |
ぺんしるべにあ | × | 〇 |
ぺんちゃむ | 〇 | 〇 |
ぺんみ | × | 〇 |
この出席表で、8月16日と9月13日の両方に出席するメンバーの人数を求めたいです。
表を準備しました。
E10セルに
=COUNTIFS(
を入力します。~
最初の引数に一つめの検索範囲を指定します。今回は、C3セルからC9セルまでの範囲となります。
2つめの引数に検索条件を入力します。8月16日に出席できるメンバーを数えるため、"〇"を入力します。
3つめの引数に二つめの検索範囲を指定します。今回は、D3セルからD9セルまでの範囲とします。一つめの検索範囲と二つめの検索範囲は行数が一致している必要があります。
4つ目の引数に2つめの検索範囲の検索条件を入力します。9月13日に出席できるメンバーを数えるため、"〇"を入力します。
以下の数式を入力しました。
=COUNTIFS(C3:C9,"〇",D3:D9,"〇")
数式を確定します。E10セルに "3" の数値が表示されます。
COUNTIFS関数は、8月16日の出席(C3:C9)セルの値が"〇"かつ、9月13日の出席(D3:D9)セルの値が"〇"のセルの行を数えるため、
3行目の「ぺんた」、6行目の「ぺんざぶろう」、8行目の「ぺんちゃむ」の3人がC列、D列の両方のセルが「〇」のため、"3" が結果として表示されます。
例2
次の表を作成します。
| ぺんた | ぺんみ | ぺんのすけ | ぺんちゃん | 始業時間 |
3月1日 | 8:50 | 8:40 | 9:30 | 9:00 | 9:00 |
3月2日 | 8:20 | 7:50 | 8:05 | 8:00 | 8:00 |
3月3日 | 9:40 | 9:30 | 10:02 | 9:55 | 10:00 |
3月4日 | 8:50 | 8:40 | 9:05 | 9:08 | 9:00 |
3月5日 | 5:25 | 5:50 | 7:00 | 5:58 | 6:00 |
3月6日 | 7:55 | 7:45 | 7:55 | 7:50 | 8:00 |
3月7日 | 8:08 | 7:30 | 7:55 | 7:50 | 8:00 |
3月8日 | 12:30 | 12:00 | 12:55 | 13:10 | 13:00 |
セルには各人の始業時間が入力されています。
4人の中で、一度も遅刻しなかった人数を知りたいです。
Excelを起動し表を用意します。
以下の数式を入力します。
=COUNTIFS(C4:F4,"<"&G4,C5:F5,"<"&G5,C6:F6,"<"&G6,C7:F7,"<"&G7,C8:F8,"<"&G8,C9:F9,"<"&G9,C10:F10,"<"&G10,C11:F11,"<"&G11)
解説
行ごとの条件が次のとおりに設定されています。
検索範囲の値がその行のG列の値より小さい場合にカウントします。
今回の例では、始業時間より各人の始業時間が早ければカウントします。
すべての行に対して各人の始業時間が始業時間より早い列の個数を求めます。
すなわち、始業時間に1日も遅れがなかった人数が求められます。
検索範囲 | 検査条件 |
C4:F4 | "<"&G4 |
C5:F5 | "<"&G5 |
C6:F6 | "<"&G6 |
C7:F7 | "<"&G7 |
C8:F8 | "<"&G8 |
C9:F8 | "<"&G9 |
C10:F10 | "<"&G10 |
C11:F11 | "<"&G11 |
数式を確定します。値は"1"になります。今回の例では「ぺんこ」のみが、始業時間から1日も遅れることなく始業しています。
COUNTIFS関数を利用して、特定の値を複数のセルで持つ行や列の個数を数えられました。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-23
作成日: 2023-03-12