スプレッドシートで条件に一致するセルの数をカウントしたいときにはcountif関数を使うのですが、複数の条件を満たすセルをカウントしたい時にはcountifs関数を使用します。今回はcountifs関数の使い方について説明します。
複数条件を満たすセルをカウントするcountifs関数
指定範囲内の条件に適合するセルをカウントするにはcountif関数を使用するのですが、〇〇かつ××を満たすといったように複数の条件を満たすセルをカウントする場合にはcountifs関数を使用します。
=COUNTIFS(範囲1,条件1,範囲2,条件2)
条件の部分には数値、文字列、日付、参照セル、論理式を入れる事が可能です。
- 複数の条件を満たすセルの数をカウントする
- 範囲と条件をセットで複数指定する。
- 『条件』には数値、文字列、日付、参照セル、論理式が入れることが可能
- 『条件』に数値、文字列を入れる場合は””(ダブルクォーテーション)で囲む
- 複数範囲指定する場合は行数や列数を合わせる
例えば名簿の中から18歳から22歳の人のみカウントしたいというときには下記のように記述します。
=countifs(C4:C12,"<=22",C4:C12,">=18")
countifs関数でワイルドカードを活用する
countifs関数で文字列のカウントを行う時はワイルドカードをうまく使うことで、カウント時の条件を細かく絞り込むできます。
?(疑問符)で任意の1文字
文字列に『?』を入れると任意の1文字が挟まれた文字だけが条件に一致するようになります。
*(アスタリスク)で任意の数文字
間に任意の数文字を条件として指定したい場合は『*』(アスタリスク)を使用します。
例:下記のテキスト範囲に『?』と『*』を用いて条件付き書式を設定してみました。
- アイス
- アリス
- アムス
- アキレス
- アリストテレス
- アリとキリギリス
『?』や『*』を条件として指定したい場合は~(チルダ)
『?』や『*』自体を条件にしたい時はエスケープ文字として『~』を文字の前につけることで条件として指定できます。
複数範囲から複数の条件を選ぶ
さきほど紹介した年齢の入った名簿表にサッカーのポジションが入っていたとします。年齢の入った範囲から、1つ目の年齢の条件を選び、ポジションの入った範囲から、2つ目のポジションの条件を選びます。
ポジションの部分では*をワイルドカードとしてポジションの前後に入れることで、前後にどのような文字が入っていてもカウントされるようにしてます。
countifs関数で空白以外をカウントする
範囲内で空白以外のセル数をカウントするには条件を”<>“にします。こうすると何らかの値が入ったセルはカウントされます。例えば18歳以上で趣味の欄になんらかの情報が入っている人数をカウントしたい場合は下記のように記述します。
=countifs(B4:B12,”<=18",C4:C12,"<>")
countifs関数がうまくいかない
countifs関数のセルにVALUEと表示されてしまう
countifs関数を打ち込んだセルがVALUEとなってしまう場合は、それぞれの条件で指定した範囲が揃っていないことが原因です。必ず揃えてやる必要があります。
countifs関数が0になる
求める結果が0ではないにもかかわらず、数値が0になる場合は条件を間違えている可能性が高いです。不等号記号が意図したとおりになっているか、文字列のタイプミスがないかなど、条件を見直してみましょう。
まとめ
複数の条件を満たすセルをカウントしたい時に使用するcountifs関数の使い方について解説してきました。
スプレッドシートの関数については基本的なものを紹介しています。
スプレッドシートの使い方については下記の記事でまとめていますので併せてお読みください。