みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2019-05-16 12:48:18

QNo.9617087

暇なときに回答ください

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

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

投稿日時 - 2019-05-16 13:22:10

補足

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

投稿日時 - 2019-05-16 13:47:49

お礼

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

投稿日時 - 2019-05-16 14:01:12

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2019-05-16 13:52:24

あなたにオススメの質問