プロが教えるわが家の防犯対策術!

エクセルで時間計算の式を入力したところ、計算結果に0:00と表示されます。
ゼロ値は非表示にしているので数値に直して0なら普通は表示されないのですが、どうも0ではないようです。
数式によるシリアル値の誤差かと思うのですがそれにしても原因がよくわからないのです。
というのも
=Q7-G7-I7-P7-J7
という式にすると0:00と表示され、-J7の部分を削除すると非表示(=本当の0:00)になるのですが、J7には数値も何も入力していません。
それが-J7と言う数式を加えただけで0:00となってしまいます。

ちなみにその0:00の書式を標準にすると1.38778E-17となり
数値では0に小数点20桁ぐらいまでいくと端数が出てきました。

なぜでしょうか?

A 回答 (3件)

Excelの数値の精度は20桁くらいではなかったでしょうか。

日付時刻のシリアル値はE+4 のオーダーですから、E-17なら、ほぼ誤差のオ-ダーですね。質問者さんの「誤差説」に賛成したくなります。

データが入っていないJ7の有無で式の計算結果が変わることについては、これは何の根拠もない、まったくの想像ですが、J7の有無によって演算の順序が変わり、それで誤差の出方が変わる、ということはないのでしょうか。この可能性については、カッコを使用してテストすることができるかもしれません。いずれにしても、計算には誤差がつきもの、ということですね。

この回答への補足

誤差説、あるんですねそういうの・・・ありがとうございます。ということは引いていく順番を変えれば誤差はなくなるんですかね。
一度、いろいろな順番で試して見ます。
でも全部-ばっかりなんで引く順番とか関係するのが不思議ですね。
シリアル値もある程度熟知してたつもりですが初めての経験です。

補足日時:2008/09/02 18:24
    • good
    • 0
この回答へのお礼

う゛ぉぉ~~できました(T_T)/

あなたは神です。
順番を入れ替えただけで0:00表示がなくなりました。
どうもありがとうございましたm(_ _)m

お礼日時:2008/09/02 18:57

エクセルでは24時間を1として時間を計算します。


0.5は12:00、0.75は18:00です。
時間表示にした場合計算の結果が正数ならば5でも100でも0:00と表示されます。(正数の5は5日ととらえて計算しています)計算上は0ではないために数字は表示されます。
計算式の中に正数が入る場合それを分解するための数式が必要です。
5分の場合は(0:05)と入力する等
時間だけの+-の場合(24:00以上の表示)
セルの書式 表示形式 ユーザー定義  [h]:mm:ss(この:ssはサンプルのところをいじって消しておいたほうがよいでしょう)
説明が分かりにくかったり質問を誤解していたらすみません。  
    • good
    • 0
この回答へのお礼

ありがとうございます。
書式自体は全て時間([h]:mm)で統一されています。
セル(データも数式も入力していない)を数式に含むことでその事象が発生することがなぞです。

お礼日時:2008/09/02 18:24

1時間は1/24=0.416666......


1分間は1/24/60=0.000694444.......
このようにシリアル値にすると端数が発生します。
なるべく端数を出さないようにすると言うのなら
=ROUND((Q7-G7-I7-P7-J7)*1440,0)/1440
としてください。
※1440=24*60のことで、上記は分単位に四捨五入しています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
シリアル値についてはある程度理解はしているのですが問題はデータの入ってないセルを、数式に入れるだけで端数が出るというのが不可解な謎なんです。
わかりましたら引き続きお願いいたします。

お礼日時:2008/09/02 18:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A