- ベストアンサー
点数を数値に置き換える数式
すいません。 テストの点数で、 91~100点を「10」、81点~90点を「9」、・・・、1~10点「1」、0点は「0」という感じに、10点ごとに0~10の数値にしたいのですが、数式を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こういうのはVLOOKUP関数のTRUE型に限る。 E1:E12に(どこでも良い) 0 0 1 1 11 2 21 3 31 4 41 5 51 6 61 7 71 8 81 9 91 10 101 の表を作る。 E列が点数、F列が(クラス)コードです。 点数の区分けは昇順にして作っておくこと。 A列に点数を入れるとして B1に =VLOOKUP(A1,$E$1:$F$12,2,TRUE) を入れて、下へ式を複写する。 点数は制すうちであること。 0-100を超える範囲外の点はないものとする。 A列空白セルのB列のエラー防止は =IF(A1="","",VLOOKUP(A1,$E$1:$F$12,2,TRUE)) のようにする。
その他の回答 (4)
- edomin
- ベストアンサー率32% (327/1003)
単純に、セルA1に点数が入っているとして =INT((A1+9)/10) でOK。
お礼
ありがとうございます。 これは、#3の方とは反対に切り捨てるという意味ですか? 参考になりました。ありがとうございます。
#1の方と同じく,Ofiice と言っても Word なのか Excel なのか, はたまた Access なのか,ひょっとして PoworPoint なのかよくわかりませんし, VBA なのか 単なる関数なのか, データの形がどうなっているのかさっぱりわかりませんが… 勝手に Excel だと決めて, 勝手に,A列に 以下のようなデータがあるとした場合, A 1 98 2 16 3 3 4 56 5 21 6 48 ・ ・ ・ ・ ・ ・ B列に以下のような関数を書けば, A B 1 98 =ROUNDUP(A1/10,0) 2 16 =ROUNDUP(A2/10,0) 3 3 =ROUNDUP(A3/10,0) 4 56 =ROUNDUP(A4/10,0) 5 21 =ROUNDUP(A5/10,0) 6 48 =ROUNDUP(A6/10,0) ・ ・ ・ ・ ・ ・ ・ ・ ・ 以下のように計算されます。 A B 1 98 10 2 16 2 3 3 1 4 56 6 5 21 3 6 48 5 ・ ・ ・ ・ ・ ・ ・ ・ ・ ~意味~ =ROUNDUP(A1/10,0) は,日本語で書くと =切り上げ(A1セル÷10 , 小数点以下 0 桁) と言うことです。 ROUNDUP関数 http://www.relief.jp/itnote/archives/000937.php しかし,こんなのは1つ1つセルに入力するのではなく, 例えば,B1セルに =ROUNDUP(A1/10,0) と書いておいて, B1セルの右下の "ハンドル" と呼ばれる四角を下にドラッグすれば,勝手にB2以下はそれなりに計算されます。 これをオートフィルと言います。 http://www.morgan.co.jp/kiso/4excel-1.htm 何を求めていらっしゃって,どの程度わかっていらっしゃる方かさっぱりわかりませんが, こんなところの回答でどうでしょうか?
お礼
私の言葉が不足していて申し訳ありません。 Excelを使用しています。 大変、丁寧に回答していただきありがとうございます。 助かりました。
- periodayo
- ベストアンサー率20% (64/315)
=if(A1<=0,0,if(A1<=10,1,if(A1<=20,2,・・・if(A1<=90,9,10)))))))))) このようにif文をつなげていきます。
補足
この式だと途中でエラーが出てしまうのですが・・・。 何か他にいいのがあれば、教えてください。
- miracle3535
- ベストアンサー率20% (306/1469)
どの言語を使いたいのか判りませんが、単純に10で割ってください。そして整数部分だけ表示するようにすればよいでしょう。 VBなら a=int(tensuu/10) tennsuuに15点が入ればaは1になります。 エクセルなら、数値表示で小数点以下を表示させなければ、一応整数で表示されます。
お礼
早速のご回答ありがとうございます。 Excelを使用しています。 参考になりました。ありがとうございました。
お礼
ありがとうございます。 これは、他にも応用できそうですね。 とても参考になりました。