- ベストアンサー
Excelで正解率を自動計算する方法
- Excelの計算式を使って、正解率を自動的に計算する方法について教えてください。
- A~Dの項目に○や×があり、それに応じて点数が加算される仕組みです。
- 具体的な計算式や例を交えながら、正解率を自動的に反映させる方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
この場合は、IF関数を使用する必要は無いと思いますから、 =SUMIF(F$11:F14,"○",$C$11:$C14)/(SUMIF(F$11:F14,"○",$C$11:$C14)+SUMIF(F$11:F14,"×",$C$11:$C14)) で良いと思います。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
参考 この表の設計でN/Aが関数=NA()の値、すなわち、エラー値だとすると、ほとんどの数式が使えなくなる。 セル範囲を引数に指定する関数式は、結果かエラーとなって正常に機能しない。 働くのは{=SUM(IF(ISERROR(B2:B5),0,1)*(A2:A5))}(配列数式)のように、エラー値を他の値に置き換えに成功したときだけで、この置き換えて、その結果で何かをさせる式を見つけるのが難しい。 文字列”N/A”などに置きかえる(IF関数でその該当の場合、第2引数を”N/A”にしたらしまい)ように設計すべきだ。 すると 例 B列は実際はF,G,H列にあっても式の列番号が変わるだけ。 A列の配点は、その期ごとに変えれば式は変えないで済む。 生徒ごとの式は右方向の式の複写で対処できる。 A列 B列 20 ○ 25 × 25 N/A ←文字列 30 ○ の場合 獲得点は =SUM((B2:B5="○")*(A2:A5)*(B2:B5<>"N/A")) と入れてSHIFT+CTRL+ENTER(配列数式) で 50点 ーー 満点は =SUM(IF(B2:B5="N/A",0,1)*(A2:A5)) と入れてSHIFT+CTRL+ENTER(配列数式) で 75点 正解率は上記の割り算。 ーー 配列数式がイヤならSUMPRODUCT関数でも出来ると思う。
お礼
ありがとうございます。 おかげで、解決することができました。
まず C1に =IF(ISERROR(F1:F13),COUNTIF(F1:F13,"○"))と入れると○の数が出ます N/AとはERRではじかれた数字ですか?その場合ISERRORを使えばいいかと思います。 さらに C2そのカウント数に点数をかければその数字が出ます =C1*20 後は足して行って、セルを%に書式設定すればいいと思いますが? F20 =C2+C3+・・・・ という感じではないですかね?
お礼
ありがとうございます。 おかげで、解決することができました。 説明が不足していてお手数をおかけしました。
- keithin
- ベストアンサー率66% (5278/7941)
○の付いた得点はSUMIFで数えます。 SUMIF(F11:F14,"○",$C11:$C14) 満点は,4教科の全てに○か×かNAが入る前提で SUMIF(F11:F14,"<>N/A",$C11:$C14) となります。 結果して =IF(COUNTA(F11:F14)=4,SUMIF(F11:F14,"○",$C11:$C14)/SUMIF(F11:F14,"<>N/A",$C11:$C14),"") といった具合に組み立てることが出来ます。 #参考 満点の求め方については,○の付いた得点をSUMIFで数える(上述の通り)と,×の付いた得点をSUMIFで数える(上述の応用)を加算するという考え方も出来ます。 上述のように「4科目の成績が埋まって初めて計算できる」としたくないときは,こちらの考え方を使います。
お礼
ありがとうございます。 おかげで、解決することができました。 詳しい説明、ありがとうございました!
お礼
ありがとうございました。 おかげで、解決することができました。