• ベストアンサー

【関数】エクセルでの時間の計算

いつもお世話になっております。 エクセルでの時間の計算に関する質問です。 下記のような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列が〇になったり×になったりしますが、それがなぜなのか教えてください。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8467/18126)
回答No.1

例えば8:00はエクセルでは8/24=1/3と同じです。 1/3は数学的には0.33333333...というように3が無限に続く数値ですが,エクセルの中では途中で打ち切った数値に丸められています。こういう数値を使ってE列のような計算を行っても,偶然に打ち消しあってちょうど割り切れる数値になるとき以外は,計算結果は数学的に正しい値にはなりません。 E2=0.500000000000001 F2=0.500000000000000

isicorosun
質問者

お礼

E列を=TEXT((B2-A2)*24,"0.0") F列を=TEXT((C2+D2)/60,"0.0") にしたらうまくいきました。 ありがとうございました。

isicorosun
質問者

補足

早速の回答をありがとうございます。 また、非常に興味深い根拠をお示しいただきありがとうございます。 F2と同じ単位?の計算結果を出すには(50や80など半端な時でも)E2にどのような式が相応しいでしょうか。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

年月日によって時刻の計算には誤差が出るためと思われます。 E2やF2の時間計算にはご注意ください。

関連するQ&A