スプレッドシートのcountifs関数で複数条件適合セルを数える

スプレッドシートのcountifs関数

スプレッドシートで条件に一致するセルの数をカウントしたいときにはcountif関数を使うのですが、複数の条件を満たすセルをカウントしたい時にはcountifs関数を使用します。今回はcountifs関数の使い方について説明します。

複数条件を満たすセルをカウントするcountifs関数

指定範囲内の条件に適合するセルをカウントするにはcountif関数を使用するのですが、〇〇かつ××を満たすといったように複数の条件を満たすセルをカウントする場合にはcountifs関数を使用します。

=COUNTIFS(範囲1,条件1,範囲2,条件2)

条件の部分には数値、文字列、日付、参照セル、論理式を入れる事が可能です。

countifs関数のポイント
  • 複数の条件を満たすセルの数をカウントする
  • 範囲と条件をセットで複数指定する。
  • 『条件』には数値、文字列、日付、参照セル、論理式が入れることが可能
  • 『条件』に数値、文字列を入れる場合は””(ダブルクォーテーション)で囲む
  • 複数範囲指定する場合は行数や列数を合わせる

例えば名簿の中から18歳から22歳の人のみカウントしたいというときには下記のように記述します。

=countifs(C4:C12,"<=22",C4:C12,">=18")

countifs関数の記述例

countifs関数でワイルドカードを活用する

countifs関数で文字列のカウントを行う時はワイルドカードをうまく使うことで、カウント時の条件を細かく絞り込むできます。

?(疑問符)で任意の1文字

文字列に『?』を入れると任意の1文字が挟まれた文字だけが条件に一致するようになります。

*(アスタリスク)で任意の数文字

間に任意の数文字を条件として指定したい場合は『*』(アスタリスク)を使用します。

例:下記のテキスト範囲に『?』と『*』を用いて条件付き書式を設定してみました。

  • アイス
  • アリス
  • アムス
  • アキレス
  • アリストテレス
  • アリとキリギリス
ワイルドカードを用いた文字列の判定

『?』や『*』を条件として指定したい場合は~(チルダ)

『?』や『*』自体を条件にしたい時はエスケープ文字として『~』を文字の前につけることで条件として指定できます。

複数範囲から複数の条件を選ぶ

さきほど紹介した年齢の入った名簿表にサッカーのポジションが入っていたとします。年齢の入った範囲から、1つ目の年齢の条件を選び、ポジションの入った範囲から、2つ目のポジションの条件を選びます。

countifs関数の複数条件例

ポジションの部分では*をワイルドカードとしてポジションの前後に入れることで、前後にどのような文字が入っていてもカウントされるようにしてます。

countifs関数で空白以外をカウントする

範囲内で空白以外のセル数をカウントするには条件を”<>“にします。こうすると何らかの値が入ったセルはカウントされます。例えば18歳以上で趣味の欄になんらかの情報が入っている人数をカウントしたい場合は下記のように記述します。

=countifs(B4:B12,”<=18",C4:C12,"<>")

countifs関数がうまくいかない

countifs関数のセルにVALUEと表示されてしまう

countifs関数を打ち込んだセルがVALUEとなってしまう場合は、それぞれの条件で指定した範囲が揃っていないことが原因です。必ず揃えてやる必要があります。

countifs関数でvalueと表示されるエラーの原因

countifs関数が0になる

求める結果が0ではないにもかかわらず、数値が0になる場合は条件を間違えている可能性が高いです。不等号記号が意図したとおりになっているか、文字列のタイプミスがないかなど、条件を見直してみましょう。

まとめ

複数の条件を満たすセルをカウントしたい時に使用するcountifs関数の使い方について解説してきました。

スプレッドシートの関数については基本的なものを紹介しています。

便利な数式と関数
スプレッドシートで最初に覚えたい便利な基本関数一覧
スプレッドシートで最初に覚えると便利な使い勝手のいい基本的な関数を紹介します。

スプレッドシートの使い方については下記の記事でまとめていますので併せてお読みください。

スプレッドシートの使い方完全マニュアル
スプレッドシートの使い方 完全マニュアル
スプレッドシート初心者が一通り使えるようになるまでの知識を体系的にまとめました。