- ベストアンサー
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点が何人 と調べたいのですが・・ よろしくお願いします。。
- みんなの回答 (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 区分を点数帯にすることも出きる。 関数ほど瞬時自動ではないが、データが変れば!ボタンで更新もされる。
その他の回答 (4)
- zash
- ベストアンサー率26% (6/23)
#2で回答したものです。 配列式への変換のキーが間違ってました。 すみません。 shift+Ctlr+Enterでした。
- youchan1117
- ベストアンサー率66% (12/18)
クラス別点数別の人数を調べたいのでしたら、 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)
やり方は二通りあります。 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))} となり、複数条件でのカウントができるようになります。
- engine55
- ベストアンサー率31% (28/89)
クラスの隣りの列(ここではD列とします)に、点数とクラスをくっつけた文字列を作成します。 具体的には 2行目ならD2のセルに =b2&c2 という式を入れて、後は下にコピーします。 あとは、COUNTIFで解決だと思います。 COUNTIFは、複数の条件を入れてやることができないので 工夫が必要です。 他の方法もありますが、それほど大規模でなければ これで処理できます。
補足
返事ありがとうございます。 今後期末とかを入れていきたいと思っています。 ピボットかなり使えます^^ 氏名 期末 中間 クラス 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個づつふやさなくてはいけませんか??よろしくお願いします。