• ベストアンサー

目的のデータを抽出してカウントする関数

今塾の生徒のテスト結果の集計をしていて、「テストの点数が60~80点の男子」の人数を数えたいのですが、どんな関数を使ったら良いでしょうか? エクセルのデータとしては男女の性別が書かれた列と、その隣に点数が書かれた列の2列が対になっています。 COUNTIFSを使ったところ、「男子の60点以上の人数」もしくは「男子の80点以下の人数」は数えられたのですが、60~80点の人数を一発で出す関数は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 、「男女の性別」とか「点数が書かれた列」等と書かれても、実際にはA列~XFD列の内の、どの列の話であるであるのか判りませんので、今仮に、「男女の性別が書かれた列」がA列であり、「点数が書かれた列」がB列であるものとします。  その場合、「テストの点数が60点以上で且つ80点以下の男子」の人数を数える関数は次の様なものとなります。 =COUNTIFS($A:$A,"男",$B:$B,">=60",$B:$B,"<=80")  尚、「テストの点数が60~80点」、即ち「テストの点数が60点以上で且つ80点以下」という条件では、テストの点数が丁度60点の人や丁度80点の人も含まれますが、それよりも上の点数の人数を求める際に、「テストの点数が80点以上で且つ100点以下」という条件にしたのでは、こちらの条件にもテストの点数が丁度80点の人も含まれますから、テストの点数が丁度80点の人の人数が重複してカウントされる事になってしまいます。  同様に、「テストの点数が60点以下」の人数をカウントした場合においても、テストの点数が丁度60点の人の人数が重複してカウントされる事になってしまいます。  ですから、数える条件を「テストの点数が60~80点の男子」とされるのではなく、「テストの点数が60点以上、80点未満の男子」或いは「テストの点数が60点を超えて、80点以下の男子」の、どちらかとされた方が宜しいのではないでしょうか?  因みに、「テストの点数が60点以上、80点未満の男子」の人数を数える関数は次の様なものとなります。 =COUNTIFS($A:$A,"男",$B:$B,">=60",$B:$B,"<80")  同様に「テストの点数が60点を超えて、80点以下の男子」の人数を数える関数は次の様なものとなります。 =COUNTIFS($A:$A,"男",$B:$B,">60",$B:$B,"<=80")

関連するQ&A