• ベストアンサー

日時の差分を分単位に換算し60超をNGとしたい

よろしく御願い致します。 経過時間を分単位に換算し60分超のものをNGとして管理したいのです。 以下の通り設定しましたがC1の経過時間の計算はできましたが D1の判定結果が全てOKになってしまいます。 ----------------------------------------------- A1:開始日時分:書式設定でm/d h:mm B1:終了日時分:書式設定でm/d h:mm C1:経過時間(分):B1-A1にして書式設定で[mm] D1:判定:IF(C1>60,"NG","OK") ----------------------------------------------- ちゃんと判定ができる方法を御教授下さい。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

C1セルの内容は 60という表記でも数値として 60が入っているのではありません。 書式で 0.041666667という数値が 60 と表示されているに過ぎません。 そんなわけで他の方が回答しているように シリアル値で比較する方法を採る必要があります。  1/24 : 1日 = 1 なので、1時間 = 1/24  時間を示すシリアル値を 1440倍して分の単位を整数にする  TIME関数: TIME(時間,分,秒)  TIMEVALUE関数: TIMEVALUE("1:00")  どこかのセルに 1:00 と入力して、そのセルの値と比較 など また、日にちをまたぐ時間の計算には注意してください。 時間だけ入力すると日にちを考慮せずに計算してしまうことがあります。 例:  (0:35)-(23:30)= 65分    ↓ ×(5月2日 0:35)-(5月2日 23:30)=マイナス22時間55分 ○(5月3日 0:35)-(5月2日 23:30)=65分

lego412
質問者

お礼

回答ありがとうございました。 シリアル値について解説していただき理解ができました。 日にちをまたぐ場合についても解説いただき助かりました。 結局のところ既存の式に*1440を入れることで解決しました。

その他の回答 (2)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

セル「C1」を参照せず、以下のようにしてみて下さい。 セルD1に =IF(B1-A1>TIME(0,60,0),"NG","OK")

lego412
質問者

お礼

回答ありがとうございました。TIME関数について調べて納得しました。 C1を参照しないと言うのは考えてなかったのでブレイクスルーできました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

D1は =IF(C1>1/24,"NG","OK") にしてみてください。エクセル内部では1日が「1」、1時間は「1/24」です

lego412
質問者

お礼

ありがとうございました、 シリアル値の意味がよくわかっていなかったので 簡単に解説していただきよくわかりました。

関連するQ&A