- ベストアンサー
Excelで5択テストの採点方法と正解率を求める関数
- Excelで5択テストの採点方法と正解率を求める関数について説明します。
- 5択テストの正解と解答者の解答を比較し、正解なら1、不正解なら0で計算します。
- 最終的に全解答者の正解率の平均を求めることができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ここに質問する要領として、質問に、いろいろ自分個人の状態や、したことを書くよりも、シートのセルのデータの例でも挙げてもらうほうが良い。 回答しようとする人は、一応エクセルのベテランと仮定して質問してよい。 例 正解番号 Aさん Bさん Cさん Dさん Eさん Fさん Gさん Hさん Iさん Jさん 2 3 1 2 3 5 1 2 2 3 1 3 3 1 2 3 3 1 2 3 3 1 L2セルに =COUNTIF(B2:K2,A2)/COUNT(B2:K2) %の場合は、書式を%に設定。 ーー エクセルの関数で、条件を付けて考えるときは、関数の解説書で「〇〇IF」のような関数を探し、まずやってみること。 今回はAVERAGEIFという関数も別にあるがこれは、本件では使えない。 点数について、男性に限っての平均の場合などに使う。 本件は該当(正答)人数なのでCOUNTIFを使うことになる。
その他の回答 (3)
- tsubu-yuki
- ベストアンサー率46% (179/386)
DELTA関数ですか、なるほど。 数値二つを比較して、合致していれば1、相違があれば0を返しますから、 質問者さんの考え方にはピタリの関数かもしれません。 せっかくですので、 > セルA1に5択の正解(1~5) > セルB1~K1に解答者Bさん~Kさん(10名)の解答(1~5) 及び > 正解なら1、不正解なら0で計算し、 を最大限に生かしつつ、 > 最終的に10名の平均の正解率 を出しましょう。 図の黄色部分、B2:K2セルに、DELTA関数を使っています。 B2セル:=DELTA($A$1,B1) と入力し、横方向(列方向)にフィルすると楽ちんです。 比較すべき「正答」であるA1セルは絶対参照、 比較される「回答」であるB1セルは相対参照にしておくのがミソです。 これで、正解なら1、不正解なら0を立てることができました。 正答数を数えます。 正解なら1が立っているわけですから、合計してやれば正答数が出てきます。 つまり、図の緑の部分、M2セルにはおなじみのSUM関数を入れてやります。 M2:=SUM(B2:K2) 正答率を求めましょう。 同様に1か0が立っている状態ですので、この範囲の平均を求めれば 自然と正答率を導いてくることができますね。 なので、平均を求めるAVERAGE関数をN2セルに入れてやります。 N2:=AVERAGE(B2:K2) これでお望みの処理が完了です。 ただし、設問が一つしかない、なんてこともないでしょう。 設問が複数あるとDELTA関数は使いづらいかもしれません。 なので、ほかの皆さんもおっしゃる通り、 このようなときはCOUNTIF関数やCOUNT関数を使うのが 楽ちんであると私は思います。 正答数を数えるためにCOUNTIF関数、 M9セル:=COUNTIF(B9:K9,A9) 正答率を算出するために回答全数をCOUNT関数で N9セル:=M9/COUNT(B9:K9) とそれぞれしてやります。 これであとは下方向(行方向)にフィルしてやれば 設問が幾つあってもOKです。 各個人の正答率も同じ考え方で可能ですので、 そちらは考えてみましょう。
お礼
回答していただき、ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
>上記がそれぞれ入力されているとして、A1の正解とB1~K1の解答をそれぞれ比較して、正解なら1、不正解なら0で計算し、最終的に10名の平均の正解率を出すにはどのような関数を入れたら良いでしょうか? DELTA関数を必ず使う場合は作業用のテーブルを使う必要があります。 N列からW列までを作業用のテーブルとしたときN1へ次の数式を入力します。 =DELTA($A1,B1) N1セルを右へW1セルまでコピーすれば設問設問毎の正誤が1または0の結果を得られます。 設問数に応じてN1:W1を下へ必要数コピーすれば回答者毎の正誤が1または0の結果が得られます。 Excel 2013で検証した結果ではAVERAGE関数で作業用テーブルの縦に集計すれば回答者毎の正解率、横に集計すれば設問毎の正解率が求められます。 DELTA関数を使わずに同じ論理で集計するときはAVERAGE関数とINDEX関数を使えば作業用テーブルを必要としません。 設問が10問としたとき次の数式で回答者(B)の正解率が求められます。 =AVERAGE(INDEX(($A1:$A10=B1:B10)*1,0)) 右へ9個コピーすれば各自の正解率が求められます。 設問毎の正解率は次の数式になります。 =AVERAGE(INDEX((A1=B1:K1)*1,0))
お礼
回答していただき、ありがとうございました。
- SI299792
- ベストアンサー率47% (774/1618)
=COUNTIF(B1:K1,A1) で、正解者の人数が出ます。 これを10で割り、表示を%にすればいいです。
お礼
回答していただき、ありがとうございました。
お礼
回答していただき、ありがとうございました。おかげで、うまく正解率を求めることができました。