[[20161014181300]] 『時間の計算が合いません』(kkk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『時間の計算が合いません』(kkk)

皆様、教えてください。

A1 → 14:00
B1 → 16:00
C1 → =B1-A1
D1 → =(C1/"0:30")*300
E1 → =ROUNDDOWN(D1*1/2,-1)

という式ですが、
E1が600になるはずが、590になるんですが、
どこか式がおかしいのでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 C1の式を
 =TEXT(B1-A1,"[h]:m")*1
 としてはどうか
(ねむねむ) 2016/10/14(金) 18:58

ねむねむ 様

早速のレスありがとうございます。

確かに、教えていただいたとおり

C1の式を

 =TEXT(B1-A1,"[h]:m")*1

とすれば、結果は合ってきますが、

どうして、上の結果が、590になるのでしょうか?
これは、エクセルのバグ?なのでしょうか?

A1とか、B1の時間を違う時間にすれば、結果は合ってくるんですが・・・・

どうも、腑に落ちません。そういうものと考えるしかないのでしょうか?
(kkk) 2016/10/14(金) 19:45


追伸

やはり、C1の式が

=TEXT(B1-A1,"[h]:m")*1

が正解なのでしょうか?
(kkk) 2016/10/14(金) 20:01


 d1に表示されている値(1200)は、
 1200と完全に一致していません。

 未使用セルに次式を入れてください。
 =D1=1200
 (Trueが返ります)

 ところが、次式ではFalseが返ります。
 =D1-1200=0

 D1の値が1200ならTrueになるはずですが、
 Falseになります。

 c2
 =2/24

 d2
 =(C2/"0:30")*300

 e2(600が返ります)
 =ROUNDDOWN(D2/2,-1)
(x-ab) 2016/10/14(金) 20:40

既にご指摘があるとおりです。

E1 → =D1*1/2
として、小数点以下を表示するようにしてみてください。
599.99999999999900
とかなっているのがわかるでしょう。

いわゆる"演算誤差"というものです。

このテーマに関しては、
“達人”芳坂和行氏に学ぶ、エクセル「演算誤差」対策講座
http://pc.nikkeibp.co.jp/pc21/special/gosa/index.shtml(リンク切れ)
という有用な記事があったのだけど、整理されちゃたのかな、
リンク切れになってしまった。

"Excel 演算誤差"で検索して調べてみてください。

(γ) 2016/10/14(金) 21:10


x-ab 様
γ 様

レスありがとうございます。
なるほど、演算誤差なんですね
あまり遭遇したことが無いので・・・・
勉強になりました。

そうすると
演算誤差でググってみたところ、round関数で回避するようなことが
書かれてあったので

D1 → =ROUND((C1/"0:30")*300,20) 

※round関数の最後の20に深い意味はありません。適当な数です。

とするのが、一般的なのでしょうか?
それとも、

ねむねむ様のおっしゃるとおり、

C1 → =TEXT(B1-A1,"[h]:m")*1

とするのが、一般的なのでしょうか?
(kkk) 2016/10/14(金) 21:24


皆様
ありがとうございました。

結局、

D1 → =(ROUND(C1/"0:30",0))*300

という式で解決しました。

よくよく考えると、
入力する時刻は、30分単位であるため、
「C1/"0:30"」の式の結果は、必ず、整数となるため、
これで、よいのかと・・・・思います。

勉強になりました。ありがとうございました。

(kkk) 2016/10/14(金) 21:47


解決したようでなによりです。

くだんの「演算誤差」の記事の件ですが、
国内では見つかりませんでしたが、
米国のアーカイブを探したところ発見できました(何か、トホホな感じ)。

http://wayback.archive.org/web/20061210204014/http://pc.nikkeibp.co.jp/pc21/special/gosa/index.shtml
です。
(ただし、第四回だけは charset が、なぜか JISコードになっており、

  そのせいで文字化けしてそのままでは読めない。ソースに手を加えると良いかも知れない。)

(γ) 2016/10/16(日) 07:19


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.