• ベストアンサー

COUNTIF

お世話になります。 氏名  点数  クラス A    80   S B    70   A C    80   A D    90   A E    100   A F    80   A G    90   B H    50   B Sクラスの100点が何人 Aクラスの100点が何人 Bクラスの100点が何人 と調べたいのですが・・ よろしくお願いします。。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

質問者も関数を利用した回答を求めているのは伝わってくるが、 ピボットテーブルを使う方がずっと簡便。 (データ)A1:C12範囲指定 氏名 点数 クラス A 80 S B 70 A C 80 A D 90 A E 100 A F 80 A G 90 B H 50 B I 100 S J 90 B K 80 S (操作) データ-ピボットテーブルと・・・ 次へ-次へ 「レイアウト」ボタンをクりック 「行」へ「クラス」をドラッグアンドドロップ 「列」へ「点数」をドラッグアンドドロップ 「データ」へ「氏名」をドラッグアンドドロップ OK-完了 (結果) データの個数 : 氏名 点数 クラス 50 70 80 90 100 総計 A 1 2 1 1 5 B 1 1 B 1 1 2 S 1 1 2 S 1 1 総計 1 1 4 3 2 11 区分を点数帯にすることも出きる。 関数ほど瞬時自動ではないが、データが変れば!ボタンで更新もされる。

bartenn
質問者

補足

返事ありがとうございます。 今後期末とかを入れていきたいと思っています。 ピボットかなり使えます^^ 氏名 期末  中間 クラス A   90  80   S B   80  70   A C   80  80   A D   70  90   A E   50  100   A F   60  80   A G   80  90   B H   100  50   B I    50  100   S J    90  90   B K    70  80   S 期末だけの数字、中間だけの数字 合計の数字、シートを各1個づつふやさなくてはいけませんか??よろしくお願いします。

その他の回答 (4)

  • zash
  • ベストアンサー率26% (6/23)
回答No.4

#2で回答したものです。 配列式への変換のキーが間違ってました。 すみません。 shift+Ctlr+Enterでした。

回答No.3

クラス別点数別の人数を調べたいのでしたら、 DCOUT関数(DCOUNTA関数)を使用されてはいかがですか? 今回の表のどこか空いている場所に、条件を入力します。 例えば、元々の表がA1からC9までで書かれている場合で Sクラスの100点の人を出したいとき   D   E   F 1 点数 クラス 2 100  S  =DCOUNTA(A1:C9,1,D1:E2) と入力すると、元々の表の点数が「100」でクラスが「S」のデータの氏名の個数を計算してくれます。 点数の所に「>=80」とかにすると、80点以上の人のkazuになります。 ただし、各クラスごとに条件を書かないといけないですけどね。。   D   E   F 1 点数 クラス 2 100  S  =DCOUNTA(A1:C9,1,D1:E2) 3 4 点数 クラス 5 100  A  =DCOUNTA(A1:C9,1,D4:E5) 6 7 点数 クラス 8 100  B  =DCOUNTA(A1:C9,1,D7:E8) 100点だけにこだわるのでしたら、ピボットテーブルという手も有ると思いますよ。

  • zash
  • ベストアンサー率26% (6/23)
回答No.2

やり方は二通りあります。 1.=DCOUNTA(検索範囲,集計項目,検索条件範囲) この場合検索条件テーブルを別に持たせる必要があります。 ※参考URL参照 2.配列数式を使う 上記場合ですと、以下のように数式を立てることで 対応が可能です。 例)Sクラスで100点人数をカウントする (1)数式を立てます =countif(if(C1:C8="S",if(B1:B2="100",1,0),0)) ただしこの式はあくまで数式なので、式を挿入したセルで Ctrl+Alt+Enterキーで数式⇒配列数式に変換してやる必要があります。 (2)配列式に変換する {=countif(if(C1:C8="S",if(B1:B2="100",1,0),0))} となり、複数条件でのカウントができるようになります。

参考URL:
http://ag5.net/~nino/excel/excel-k7.htm
  • engine55
  • ベストアンサー率31% (28/89)
回答No.1

クラスの隣りの列(ここではD列とします)に、点数とクラスをくっつけた文字列を作成します。 具体的には 2行目ならD2のセルに  =b2&c2 という式を入れて、後は下にコピーします。 あとは、COUNTIFで解決だと思います。 COUNTIFは、複数の条件を入れてやることができないので 工夫が必要です。 他の方法もありますが、それほど大規模でなければ これで処理できます。

関連するQ&A