日付の書式と計算

メニューへもどる  new 自動予定表 年齢の計算


エクセルでは、日付は1990年1月1日を1として、 整数のシリアル値で管理しています。これを、ユーザーが指定した書式でセルの中に見せています。書式は、自分でも作れますが、いくつかの種類が用意されており、これで入力すれば、日付として認識され、日付の書式になります。この書式は、自動で設定されるので、注意して下さい。

★日付の書式と計算

A1に、h10.4.1と入力すると、自動的に日付の書式が設定されます。これは、A1を選択して 書式メニューのセルを見ると分かります。
種類の窓の中の書式で書けば、自動的に日付と認定されます。
B1には、=A1+30の式を、C2には=A1−365の式を入れてあります。同じ書式で、1ヶ月後・1年前の日付が表示されます。
A1には、35866という整数が入っています。これは、1900年1月1日を起点とした日数です。
最大65380(2078/12/31:H90.12.31)まで入ります。

★曜日を表示する書式

日付データの入ったセルに、書式を設定することで、曜日だけ表示することが出来ます。

書式・セルと進み、ユーザー定義で種類を aaa と入れます。一度これを使うと、リストから選べます。

★TODAY関数

今日の日付を求める関数が、TODAY関数です。=today()と、ダミーのカッコを付けて表示します。
上図のF1には、=TODAY()−A1の式が入っています。この時点の今日(h10.4.26)まで25日、という結果が表示されます。
TODAY関数を使えば、今日まで・今日からの経過日数を自動的に表示することができます。この関数は、引数は不要ですが、からのかっこを付けます。また、日付の書式は 設定しなければ、1998/4/1の標準の書式になります。

★日付計算の注意

 1.最大は、2078年12月31日の65380である。(エクセル97以降は、2999年まで)
 2.3月4日のように、年を表示させない書式もあるが、データには今年の年数が付けられる。
 3.1ヶ月・1年のように、値の異なる単位は使えない。あくまで、日数の整数が単位である。

★1年前・1ヶ月前・2年後

A1に日付が入っているとして、この1ヶ月前や1年前の日付を求めるには、DATE・YEAR・MONTH・DAY関数を使います。YEAR(A1)−1で1年前の年になるので、=DATE(YEAR(A1)-1,MONTH(A1),DAY(A1))で、1年前の日付が作れます。同様に、MONTH(A1)−1とすれば、1ヶ月前になります。

=DATE(YEAR(A1)+2,MONTH(A1),DAY(A1))-1 とすると、2年間の最後の日付を求められます。

また、EDATE関数を使えば、=EDATE(A1、−12)で12ヶ月前(1年前)になります。

★年齢を計算する

TODAY()で本日の日付が出せます。これから、生年月日を引けば日数(日齢)が求まりますが、これを365で割っても、閏年の関係から正確な年齢にはなりません。

このようなとき、DATEDIF関数を使うと便利です。

=DATEDIF(A1,TODAY(),"y")    ・・A1に生年月日があるとして
 で年齢が計算されます。

=DATEDIF(A1,TODAY(),"ym")   とすると、何歳何ヶ月の月数の部分が計算されます。

 ★月末を求める関数 EOMONTH

=EOMONTH(A1,n) で、A1にある日付のnヵ月後の月末の日付を求めることができます。
例えば、A1に3月1日があるとすると、nに0を指定すると当月の月末3月31日が、1を指定すると翌月の月末4月30日が得られます。nに−1を入れれば、前月の月末になります。
この関数は、「分析ツール・アドイン」を設定していないと使えません。nameエラーになるときは、ツールメニューのアドインを開き、分析ツールにチェックを入れてOKします。この後で、インストールが始まりますが、CDを要求される場合もあります。

★予定表を作る

日付に関する書式や関数を使って、自動的に月間予定表を作れます。

上の例は、D1にtoday関数を入れてあるので、開いただけで今月の予定表ができます。タイトルや罫線は入れてありませんが、日にちや曜日は関数で自動的に表示されます。D1に日にちを入力すれば、その月の1日から月末まで表示します。

月末を取り出すには、翌月の1日を DATE関数で作ります。E1の式を参考にしてください。

A32には、小の月を表示しないために、IF関数を使って月初めを検知しています。
 =if(DAY(A31+1)=1,””,A31+1)

2日からの日付は、くどくなるのでユーザー定義書式で日しか表示しないようにします。

B列の曜日は、ここではTEXT関数を使って書式を文字に変換しています。こうしないと、条件付き書式で日曜を自動的に赤にできません。A3のシリアル値を、aaa書式で曜日にしたものをTEXT関数で文字列にして表示しました。

追加ボタンで、土曜は青くしました。

D1に=TODAY()として今日の日付を置いておくと、日数の列に条件付き書式を設定し、本日は緑色になるようにしました。

罫線を付け印刷して、手書きで予定を書き込む使い方の他、予定のデータベースを作り、自動で予定表に入力するようにもできます。これは、葉書宛名印刷の方式を参考にしてください。

実際のエクセルファイルは、ここからダウンロードできます(16.5KB)。


メニューへもどる