- ベストアンサー
エクセル2002関数について
いつもお世話になります。下記のように表示させたいのですが、 どのような関数を使えばよいのでしょうか。 たとえば、A1のセルに、4と入力すればA2のセルに1と自動で表示したいのです。 1~5の間の数字を入力すれば1と表示 6~10の間の数字を入力すれば2と表示 11~15の間の数字を入力すれば3と表示 16~20の間の数字を入力すれば4と表示 21~25の間の数字を入力すれば5と表示 以上ですが、よろしくお願いします。
- みんなの回答 (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進数でキリのいい値が,計算機内部では無限小数になっている可能性があります.
その他の回答 (4)
- shoyosi
- ベストアンサー率46% (1678/3631)
=INT((A1+4)/5) ですね。
お礼
ありがとうございます。希望ごおりの答えが出ました。 今後ともよろしくお願いいたします。
- wolv
- ベストアンサー率37% (376/1001)
No2の回答のほうがシンプルですね.(^_^;
- MidnightHawk
- ベストアンサー率33% (27/81)
=INT((A1-1)/5)+1 で如何でしょうか?
お礼
ありがとうございました。思ったとおりの答えが出ました。 今後ともよろしくお願いいたします。
- wolv
- ベストアンサー率37% (376/1001)
=int(a1/5+0.9) とすればそのようになります. 0.9は0.8でもよさそうですが,小数の計算をパソコンでやると微妙な誤差がでることがあるので少し大きめの値にしてあります. a1にはいるのは正の整数だけと考えていいんですよね?
補足
ありがとうございました。思ったとおりの答えが出ました。 A1に入るのは、正の整数だけです。 たくさんの方からご回答いただいたのですが、wolvさんだけが+0.9と小数点の数字になっていますが、この数字の意味を教えていただきたいのですが・・・よろしくお願いいたします。
お礼
wolvさん、詳しいご説明ありがとうございました。 分数でみると大変よくわかりました。 お礼が遅くなって申し訳ありませんでした。 今後ともよろしくお願いいたします。