日付の計算・時間の計算

ここ数日の間に「日付の計算をしたいんだけど」「時間の計算が上手くできないんだけど」という質問を立て続けにいただきました。「普通の計算式はよく使うけど、日付や時刻の考え方がどうもよく分からない」という方もいらっしゃるのではないでしょうか。
今回は日付や時間の考え方と、計算方法の例をご紹介します。

『スキルアップ情報』リニューアルしました!



考え方
EXCELでは、整数の1を1日=24時間として扱います。 では時間はどう扱っているかというと、小数点以下の値で表しています。
1=1日=24時間ですから、0.5=12時間ということになります。
シリアル値
例えば、セルに「2001/4/1 12:00」と入力し、表示形式を「標準」にしてみましょう。(書式→セル→表示形式にてできます)「36982.5」という値に変わったと思います。この値がシリアル値です。
シリアル値は1900年1月1日からその日付まで、何日と何時間経過しているかを表したものです。EXCELが日付や時刻を管理する場合、必ずこのシリアル値が使われます。
表示形式
セルに日付を入力すると、EXCELはそのセルに対して自動的に日付の書式を設定します。その書式が気に入らない場合は、変更することもできます。
◆既存の書式を使う◆
表示→セル→表示形式の「日付」にて、種類の中から好みのものを選択する。
◆既存の書式を使う◆
既存に無い書式を使いたい場合は、自分で書式を作ることもできます。例えば「97/04/01」と表示するための書式は、既存にはありません。この書式を作ってみましょう。
ybs2104a.gif (9210 バイト)
@表示→セル→表示形式→分類ボックスより「ユーザー定義」を選択。

A「種類」の下のボックスに入っている書式を消す。

Bボックス内に「yy/mm/dd」と入力→OKボタン。


この、yやmやdの組合せにより、日付の書式を自由に作れるのです。以下に使用例を挙げておきますので、ご参照ください。
y」・・・・・年を表します。(: 1997)
yy 97
yyyy 1997
ge H9
gge 9
ggge 平成9
gggee"" 平成09
m」・・・・・月を表します。(: 4)
m 4
mm 04
mm"" 04
d」・・・・・日を表します。(: 1)
d 1
dd 01
dd"" 01
d」・・・・・日を表します。(: 1)
aaa
aaaa 火曜日
(aaa) ()
計算・表示事例●
質問のあった事例を2つ、ご紹介します。
入社日(または誕生日など)から今日まで、何年何ヶ月何日経過したかを知りたい。
経過した年月日を、それぞれ別のセルに算出する方法になります。
DATEDIF関数を使いますが、これは関数ウィザードからは入力できませんのでご注意ください。
[経過した年数] =DATEDIF(開始年月日,終了年月日,"Y")
[経過した1年未満の月数] =DATEDIF(開始年月日,終了年月日,"YM")
[経過した1月未満の日数] =DATEDIF(開始年月日,終了年月日,"MD")
<例>
ybs2104b.gif (3535 バイト)
[セルC3に入力されている式] =DATEDIF(A3,B3,"Y")
[セルD3に入力されている式] =DATEDIF(A3,B3,"YM")
[セルE3に入力されている式] =DATEDIF(A3,B3,"MD")
計算結果が24時間以上になる場合の表示方法
ybs2104c.gif (4165 バイト)
上図は単純に月〜金の勤務時間の合計をとったものです。結果は40時間30分になるのが正しいのですが、このままだと16時間30分という時間になってしまいます。これは計算結果の40時間30分を「24時間=1日と16時間30分」と認識し、時間の部分だけを表示しているためです。
これは、書式を作ることによって正しい答を表示させることができます。
ybs2104d.gif (6967 バイト)
表示→セル→表示形式→ユーザー定義にて、[h]:mmという書式を作ります。
ybs2104e.gif (3703 バイト)
正しい表示になりました!

EXCELの日付と時刻の考え方は慣れないと少々難しいかもしれませんね。少しはお役に立てましたでしょうか!?