• ベストアンサー

点数を数値に置き換える数式

すいません。 テストの点数で、 91~100点を「10」、81点~90点を「9」、・・・、1~10点「1」、0点は「0」という感じに、10点ごとに0~10の数値にしたいのですが、数式を教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

こういうのは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)) のようにする。

gongonchan
質問者

お礼

ありがとうございます。 これは、他にも応用できそうですね。 とても参考になりました。

その他の回答 (4)

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.5

単純に、セルA1に点数が入っているとして =INT((A1+9)/10) でOK。

gongonchan
質問者

お礼

ありがとうございます。 これは、#3の方とは反対に切り捨てるという意味ですか? 参考になりました。ありがとうございます。

noname#35109
noname#35109
回答No.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 何を求めていらっしゃって,どの程度わかっていらっしゃる方かさっぱりわかりませんが, こんなところの回答でどうでしょうか?

gongonchan
質問者

お礼

私の言葉が不足していて申し訳ありません。 Excelを使用しています。 大変、丁寧に回答していただきありがとうございます。 助かりました。

  • periodayo
  • ベストアンサー率20% (64/315)
回答No.2

=if(A1<=0,0,if(A1<=10,1,if(A1<=20,2,・・・if(A1<=90,9,10)))))))))) このようにif文をつなげていきます。

gongonchan
質問者

補足

この式だと途中でエラーが出てしまうのですが・・・。 何か他にいいのがあれば、教えてください。

回答No.1

どの言語を使いたいのか判りませんが、単純に10で割ってください。そして整数部分だけ表示するようにすればよいでしょう。 VBなら a=int(tensuu/10) tennsuuに15点が入ればaは1になります。 エクセルなら、数値表示で小数点以下を表示させなければ、一応整数で表示されます。

gongonchan
質問者

お礼

早速のご回答ありがとうございます。 Excelを使用しています。 参考になりました。ありがとうございました。

関連するQ&A

専門家に質問してみよう