• ベストアンサー

エクセルの関数について

例えば、100点満点で、90点以上は10、80点以上は9、70点以上は8、60点以上は7、50点以上は6、40点以上は5、30点以上は4、20点以上は3、10点以上は2という基準で、55なら6というように関数を使って表示させるにはどうしたらよいでしょうか。本で、VLOOKUP関数とIF関数のところを読んで、やろうと思いましたがうまくいきません。具体的なやり方を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

一番簡単なのは      A列   B列 1行目   0     1 2行目   10     2 3行目   20     3  (途中省略) 9行目   90     9 という表を適当なシートに作成し(仮にSheet2のA1:B9とします)、  =VLOOKUP(A1,Sheet2!A1:B9,2,TRUE) で検索する方法でしょう(点数はSheet1のA1セルにあるものとする) 4番目のパラメータに「TRUE」もしくは「1」を指定すると、「A列の値以上の行」を検索してくれます。 また質問の例なら、もっと簡単に  =MIN(INT(A1/10)+1,10) でも可能ですが、まあ「例」ですから、こんなに簡単な式ではないのでしょうね。

domingosabado
質問者

お礼

回答ありがとうございます。やってみたいと思います。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

IF関数をネストしていく方法は、後々の変更が大変でカッコの記述も面倒なので、VLOOKUP、LOOKUP等の検索関数をお勧めします。 すでにVLOOKUP関数が回答済みですので、LOOKUP関数例としています。 =IF(A1<>"",LOOKUP(A1,{0,10,20,30,40,50,60,70,80,90},{1,2,3,4,5,6,7,8,9,10}),"")

domingosabado
質問者

お礼

回答ありがとうございます。VLOOKUPは使っていますが、LOOKUPはやったことが二ので今度勉強します。

noname#96418
noname#96418
回答No.2

せっかくIF()も勉強されたのですから、 =IF(C3>100,"間違い",IF(C3>=90,10,IF(C3>=80,9,IF(C3>=70,8,IF(C3>=60,7,IF(C3>=50,6,IF(C3>=40,5,IF(C3>=30,4,IF(C3>=20,3,IF(C3>=10,2,"×")))))))))) も試してみてください。 データがC3から下へ並んでいる場合には、下へコピー。

domingosabado
質問者

お礼

回答ありがとうございます。なんとかできました。