以下にスプレッドシートの抜粋を示します。これは、開始日/日、セッションID、およびセッションの期間を含む時間追跡アプリケーションです。列Aは、列Dに期間を追加することによって入力されます。期間を合計しようとしていますが、合計期間が24時間を超える場合、誤った値を取得し続けます。
検討する
_ A B C D
1 2012/05/22 01:00 | Wed | Session 23341 | 9:00
2 2012/05/23 10:00 | Wed | Session 23342 | 22:00
3 2012/05/25 08:00 | Fri | | 0:00
_
ご覧のとおり、A2とA3の日付の差は、D2の22:00の値が46時間の期間を表すことを示しています(05/23 10:00 + 46:00 = 05/25 08:00)。ただし、列Dには、1日24時間を超える22:00しか表示されていません。
D2を読み取ろうとする私の試みには、int(d2) = 0.00 / int(d2)*24 = 0.00 / hour(d2) = 22.00 / int(a3-a2)*24 =0.00
などが含まれており、値「46」を取得できませんでした。
正確な要約データを取得するために、D2を正確に表すにはどうすればよいですか?
Excelはタイムスタンプ形式で時刻を表示できますが、このようにカスタムセル形式を定義する必要があります[h]:mm:ss
–注括弧は、時間が24でロールオーバーしないことを示していますが、カウントアップを続けています。これを定義して列Dに割り当てると、D2に46:00:00
の期間を入力できるはずです(もちろん、必要がない場合は、フォーマットの秒をスキップできます)。
落とし穴があります。内部的には、Excelは0の基準日時値から上向きにカウントする時間を保存します(1904年の日時の手がかりを使用して負の値を許可するように設定しない限り、1900年1月1日00:00)。 4年後になるため)、関数の全時間ファミリー(HOUR
、MINUTE
、SECOND
)は、24時間の時間枠内で値を返します(モジュロ正確には、24、24倍、または22で除算します)。
[h]
、m
、秒はs
)。これは表示にのみ影響することに注意してください。内部的には、値は上記のように通常の日時値です。yyyy/dd/mm hh:mm
の「日時」形式が割り当てられている場合、セルA2に=A1+D1
を入力すると、正しい新しい日付と時刻が得られます。Excelで非常に多くの時間と分を処理できるようにすると同時に、時間と分を区切るために毎回コロン:記号を使用する必要がなくなります。
列に時間、別の列に分を入力します。セルA1およびminutesにsayhoursと入力します列内B1
上記の各列の末尾に、たとえばA1からA19およびB1からB19のように数字を追加します。 /列の単純な数値としてA20およびB20
セルA20に= SUM(A1:A19)となる数式を入力し、B20読み取り= SUM(B1:B19)
= A20 +(B20-B21)/ 60とセルA21に数式を入力し、セルB21読み取り= MOD(B20,60)
Voila!。セルA21とB21の値は、時間と分での合計を示します。strong text
PS:このページから数式をカットアンドペーストできます!
24を掛けて時間を小数として取得できるため、この数式は46を返す必要があることに注意してください。
=(A3-A2)*24
結果セルを数値としてフォーマットします
日付と時刻を異なる列に分割して、新しいB
列を使用して新しいE
列で計算を実行できるようにすることもできます。