• ベストアンサー

エクセル2002関数について

いつもお世話になります。下記のように表示させたいのですが、 どのような関数を使えばよいのでしょうか。 たとえば、A1のセルに、4と入力すればA2のセルに1と自動で表示したいのです。               1~5の間の数字を入力すれば1と表示         6~10の間の数字を入力すれば2と表示         11~15の間の数字を入力すれば3と表示         16~20の間の数字を入力すれば4と表示         21~25の間の数字を入力すれば5と表示 以上ですが、よろしくお願いします。

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

  • ベストアンサー
  • wolv
  • ベストアンサー率37% (376/1001)
回答No.5

A1を補正?してから5で割るか, A1を5で割ってから補正するかの違いです. =int(a1/5+0.8) とすれば,数学的には =int((a1+4)/5) と同じことになります. 私の回答が小数を使っていることに深い意味はありません. 例えば,a1=1の場合は,a1/5 は0.2,(a1/5+0.8)は 1.0 となるはずなのですが, パソコンで小数の計算をするばあいは,丸め誤差の関係でこれが0.999999999999999となってしまうことがあります.これの int をとると,0となってしまい,目的に会わないので大きめの値を足しました. 0.2+0.8が0.99999999999になることがわかりにくいかもしれませんが, 例えば,我々が(10進数で)計算をする場合,2/3 + 1/3 を 0.3333333333+0.6666666666 として計算すると,答えは 0.9999999999 になってしまいます. 計算機は,2進数(あるいは16進数)を使うので,10進数でキリのいい値が,計算機内部では無限小数になっている可能性があります.

honatu
質問者

お礼

wolvさん、詳しいご説明ありがとうございました。 分数でみると大変よくわかりました。 お礼が遅くなって申し訳ありませんでした。 今後ともよろしくお願いいたします。

その他の回答 (4)

  • shoyosi
  • ベストアンサー率46% (1678/3631)
回答No.4

   =INT((A1+4)/5)  ですね。

honatu
質問者

お礼

ありがとうございます。希望ごおりの答えが出ました。 今後ともよろしくお願いいたします。

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.3

No2の回答のほうがシンプルですね.(^_^;

回答No.2

=INT((A1-1)/5)+1 で如何でしょうか?

honatu
質問者

お礼

ありがとうございました。思ったとおりの答えが出ました。 今後ともよろしくお願いいたします。

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

=int(a1/5+0.9) とすればそのようになります. 0.9は0.8でもよさそうですが,小数の計算をパソコンでやると微妙な誤差がでることがあるので少し大きめの値にしてあります. a1にはいるのは正の整数だけと考えていいんですよね?

honatu
質問者

補足

ありがとうございました。思ったとおりの答えが出ました。 A1に入るのは、正の整数だけです。 たくさんの方からご回答いただいたのですが、wolvさんだけが+0.9と小数点の数字になっていますが、この数字の意味を教えていただきたいのですが・・・よろしくお願いいたします。

関連するQ&A