コンピュータ

EXCELで時間計算して年月日時分秒で表示する簡単な方法

更新日:

EXCELでの日付や時間計算は、単純にセルの値を足し算引き算すれば解決します。でも日付をまたいだり、結果をYYYY/MM/DD HH:MM:SS形式で表示させようとするとやっかいです。

ここで紹介する方法を使えば、時差や勤務時間の計算に使えます。知っていると応用が効きいて便利です。

スポンサーリンク

時間計算はDATE関数とTIME関数で解決できる

EXCELでは、日付や時間をシリアル値と呼ばれる数字で管理しています。シリアル値とは、1900年1月1日0時0分からの経過秒のことです。

簡単に言えば、n分後やn日前というのはすべて秒に換算して「n秒後」「n秒前」を計算しているようなものです。

日付や時間の計算はすべてシリアル値にする

日付や時刻をシリアル値に変換するには、DATE関数とTIME関数を使います。

=DATE(年, 月, 日)
=TIME(時, 分, 秒)

ここで注意が必要です。DATEには時刻の、TIMEには日付の概念がありません。つまりこうなります。

=DATE(2015, 1, 1) → 2015/1/1 00:00:00
=TIME(23, 10, 20) → 1900/1/1 23:10:20

なので「2015/2/3 15:20:00の2時間15分後」という計算には使えません。そこでDATE関数とTIME関数の両方を使うことにします。

=DATE(2015, 1, 1)+TIME(23, 10, 20) → 2015/1/1 23:10:20

これで「2015/1/1 23:10:20のシリアル値」を求めることができます。次に計算したいn時間やn分もシリアル値にしてしまいます。

=TIME(7, 0, 0) → 7時間
=TIME(0, 30, 0) → 30分
=TIME(0, 30, 25) → 25秒

さっきのDATE関数とTIME関数で求めたシリアル値に足したり引いたりすればn時間後やn分前を求めることができます。

=DATE(2015, 1, 1)+TIME(23, 10, 20)+TIME(7, 0, 0)
→ 2015/1/1 23:10:20 の 7時間後 2015/1/2 6:10

=DATE(2015, 1, 1)+TIME(23, 10, 20)-TIME(0, 30, 0)
→ 2015/1/1 23:10:20 の 30分前 2015/1/1 22:40

=DATE(2015, 1, 1)+TIME(23, 10, 20)-TIME(0, 0, 25)
→ 2015/1/1 23:10:20 の 25秒前 2015/1/1 23:09

簡単でしょ?

スポンサーリンク

-コンピュータ
-

Copyright© キョウミのトビラ , 2024 All Rights Reserved.