質問: 睡眠時間の計算 エクセル2000です。 起床時間と就寝時間を入力して、睡眠時間を算出する方法がわかりません。 具体的に言うと、あるセルに就寝時間(23:30)、あるセルに起床時間(6:00)と入力した場合、6:30とかえしてくれる方法を考えています。 ただ、睡眠時間が午前0時をまわった場合とかを考慮すると、単に引くだけでもだめだなぁと。 で、詳しい方いらっしゃいましたら、ご回答お願いします。
回答: 起床時間が、質問例では日を超えるからおかしくなるわけです。 ところがデータの上では、日の情報は入っていないのです。 #2でご指摘のように日まで含めて入力すれば、引き算で何ら問題ないわけです。というのもエクセルは日+時刻を一体で捉えていて、 整数部=日 and 小数部=時刻の数値で日+時刻を表しているからです。 例えば38250.5の38250は2004/9/20日を0.5は12時(=24*0.5)を表しているからです。 さて、日の入力がない場合は、人間が付加情報を補ってやらないといけません。 意味は6:00とかが、翌日を仮定していると言うことです。翌々日の6:00まで寝ているケースがないと言う前提になっています。しかし別のケースでは翌々日の6:00を言うこともあり得ます。 出発して帰着する時間などです。その場合は日数もデータとして持たねば正しく計算出来ないことは直ぐ判ります。 翌日までしか寝ないと暗黙の仮定がある場合では =if(b2<"24:00",b2+"24:00"-a2) のように、翌日の1日24時間を足す(進める)ことを補ってやる必要があります。#1のご解答と内容は同じなんですが、この様に別表現も可能です。時刻を””で囲むのがミソです。やや1を使うより分かりやすいと思ういも入るかもしれません。