• ベストアンサー

エクセルで%に応じて自動で採点する方法

エクセルでA~D列まで枠を作って以下の様な計算を 行いたいです。 A列 分母 B列 分子 C列 パーセンテージ(少数第2点以下切り捨て) D列 C列に応じた得点 C列が100%ならD列は5点、以下、98%以上は4点、96%以上3点、94%以上2点、92%以上1点 92%未満は0点と自動で計算するにはどうしたら良いですか? また、A~E列に各列のセルに○印を書いたら、その丸の数をカウントして そのマルの数をF列に数値化(マルが5個あったら「5」、3個だったら「3」)と するにはどうしたらいいですか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

>C列 パーセンテージ(少数第2点以下切り捨て) 小数点以下2桁を切り捨て表示したいならROUNDDOWN関数を使う必要があります。 =ROUNDDOWN(A2/B2,4) 最後にこのセルの書式設定で表示形式をパーセントにして小数点以下2桁表示にしてください。 セルの書式は変更せず、そのまま文字列として表示するなら以下のような数式で表示できます。 =TEXT(ROUNDDOWN(A2/B2,4),"##.##%") >D列 C列に応じた得点 C2セルに計算結果があるなら、以下のような式で表示できます。 =LOOKUP(C2,{0.9,0.92,0.94,0.96,0.98,1},{0,1,2,3,4,5}) TEXT関数で表示した場合は、以下のように変更してください。 =LOOKUP(C2*1,{0.9,0.92,0.94,0.96,0.98,1},{0,1,2,3,4,5}) >例えばカウントした数(例えば4個あったら「4」)を別のセルまでで集計した数字と足した値を セルセルKで表示させるいはどうしたら良いですか? 質問の意味がよくわかりません。 単純に足し算すればよいようにも思うのですが、別のF~Jセルまでで集計した数字とは具体的にどのような数字なのでしょうか? 最後の補足質問は最初の質問とは全く別の追加質問のように思われますが、基本的に1つの投稿には1つの質問をするようにしたほうが良いと思います。

gomigomi12
質問者

お礼

ご回答ありがとうございました。 参考になりました。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 一例です。 ↓の画像のようにSheet2に表を作っておく方法もあります。 (薄い緑色の列だけでOKなのですが、敢えて「未満」の列も作っています。) Sheet1のC2セルは =IF(COUNTBLANK(A2:B2),"",B2/A2) としてセルの表示形式 → 「パーセンテージ」 → 「小数点以下の桁数」を「2」にしてOK D2セルは =IF(C2="","",VLOOKUP(C2,Sheet2!$A$2:$C$7,3,1)) という数式を入れ、C2・D2セルを範囲指定 → D2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 質問(2)について (データは2行目以降にあるとします) 「○」だけの入力で他に何も入力しないのであれば F2セルに =COUNTA(A2:E2) 「○」以外の入力があるのであれば =COUNTIF(A2:E2,"○") とします。 参考になりますかね?m(_ _)m

gomigomi12
質問者

お礼

ご回答ありがとうございました。 参考になりました。

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.3

前の最後の式に間違いがありました。ただしくは =5-ISERROR(SEARCH("○",A1))-ISERROR(SEARCH("○",B1))-ISERROR(SEARCH("○",C1))))-ISERROR(SEARCH("○",D1))))-ISERROR(SEARCH("○",E1)) です。

gomigomi12
質問者

お礼

ご回答ありがとうございました。 参考になりました。

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.2

>C列が100%ならD列は5点、以下、98%以上は4点・・・ 2点きざみなので、D列(D1)の式は =max(int((C1-90)/2),0) とすればよいです。 >また、A~E列に各列のセルに○印を書いたら CountIF関数を使います。 =COUNTIF(A1:E1,"○") ○印を含む文字を書いたら、という意味なら、ながったらしい式ですが =5-ISERROR(SEARCH("○",A1))+ISERROR(SEARCH("○",B1))+ISERROR(SEARCH("○",C1))))+ISERROR(SEARCH("○",D1))))+ISERROR(SEARCH("○",E1)) などでしょう。 論理演算(ISERROR)の結果が TRUE=1 FALSE=0 であることを利用しています。

gomigomi12
質問者

お礼

ご回答ありがとうございました。 参考になりました。

gomigomi12
質問者

補足

>また、A~E列に各列のセルに○印を書いたら CountIF関数を使います。 =COUNTIF(A1:E1,"○") とのことですが、例えばカウントした数(例えば4個あったら「4」)を別のセルF~Jまでで集計した数字と足した値を セルセルKで表示させるいはどうしたら良いですか?

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

C列が100%ならD列は5点、以下、98%以上は4点、96%以上3点、94%以上2点、92%以上1点、92%未満は0点と自動で計算するには、D2セルに、 =IF(C2=1,5,IF(C2>=0.98,4,IF(C2>=0.96,3,IF(C2>=0.94,2,IF(C2>=0.92,1,0)))) また、A~E列に各列のセルに○印を書いたら、その丸の数をカウントして、そのマルの数をF列に数値化(マルが5個あったら「5」、3個だったら「3」)とするには、F2セルに、 =COUNTIF(A2:E2,"○") と記入して、下にドラッグコピーしてみて下さい。

gomigomi12
質問者

お礼

ご回答ありがとうございました。 参考になりました。

関連するQ&A