- ベストアンサー
【関数】エクセルでの時間の計算
いつもお世話になっております。 エクセルでの時間の計算に関する質問です。 下記のような30行ぐらいの表があり、A,B,C,D列は手打ち、E,F,G列は関数が入力されています。 この場合D2は空白ですが、両方に15ずつ入力されている場合もあります。 A B C D E F G 8:00 8:30 30 _ =(B2-A2)*24 =(C2+D2)/60 =IF(E2=F2,"〇","×") 結果、判定をしたいG列が〇になったり×になったりしますが、それがなぜなのか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば8:00はエクセルでは8/24=1/3と同じです。 1/3は数学的には0.33333333...というように3が無限に続く数値ですが,エクセルの中では途中で打ち切った数値に丸められています。こういう数値を使ってE列のような計算を行っても,偶然に打ち消しあってちょうど割り切れる数値になるとき以外は,計算結果は数学的に正しい値にはなりません。 E2=0.500000000000001 F2=0.500000000000000
その他の回答 (1)
- aokii
- ベストアンサー率23% (5210/22062)
回答No.2
年月日によって時刻の計算には誤差が出るためと思われます。 E2やF2の時間計算にはご注意ください。
お礼
E列を=TEXT((B2-A2)*24,"0.0") F列を=TEXT((C2+D2)/60,"0.0") にしたらうまくいきました。 ありがとうございました。
補足
早速の回答をありがとうございます。 また、非常に興味深い根拠をお示しいただきありがとうございます。 F2と同じ単位?の計算結果を出すには(50や80など半端な時でも)E2にどのような式が相応しいでしょうか。