ICT業務改善

Excel編集|日付や曜日を管理する

 

Excelは、個数や金額の計算はもちろん、日付に関する計算も行うことが出来ます。例えば、「2018年1月1日に50日足すと、何月何日になるのか」「2018年2月3日~2018年7月15日」は何日間なのか。「2018年6月9日は何曜日か」等を求めることが出来ます。

社歴の計算や、サービス有効期限の設定等、業務の中で日付計算が必要な場面は意外に多いのではないでしょうか。今回は、Excelでの日付管理方法についてお話しします。

 

日付に対する加算・減算

・日の計算

セルにある日付を入力し、そのセル値に50を加算した場合、最初の日付の50日後の日付が算出されます。減算した場合は50日前の日付になります。

 

 

 

このように、日数を足し引きしたい場合は、単純な計算式を入力するだけで問題ありません。

 

・月の計算

では、月数を足し引きしたい場合はどうすれば良いでしょうか?

その場合はEDATE関数を使います。EDATE関数の書式は

=EDATE(開始日, 月数)

で、開始日から指定の月数分先(指定月数がマイナスなら前)の日付を返します。

 

 

 

ここで注意したいのは、日付を表示させたいセルの書式設定です。表示形式を必ず「日付」にしておいてください。表示形式が「標準」のままだと、日付が「シリアル値」で表示されてしまいます。

 

 

シリアル値というのは、1990/1/1を1とし、そこからの通算日数で日付を表す数値です(1990/2/1ならシリアル値は32)。Excelは日付データをシリアル値という形式で管理していますが、セルの表示形式を「日付」に指定することで、人間が分かりやすい日付形式に自動変換してくれるのです。

 

・年の計算

最後に、日付に対して年を足し引きする方法です。式は少し複雑になって、

= DATE(YEAR(日付)+年数,MONTH(日付),DAY(日付))

となります。関数がいくつか使われているのでそれぞれ説明します。

 

YEAR関数

書式は

=YEAR(日付(シリアル値))

で、日付を表すシリアル値から、年に当たる数値を取得します。引数にシリアル値2(1990/1/2)を指定した場合、1990を返します。

 

MONTH関数

書式は

=MONTH(日付(シリアル値))

で、日付を表すシリアル値から、月に当たる数値を取得します。引数にシリアル値2(1990/1/2)を指定した場合、1を返します。

 

DAY関数

書式は

=DAY(日付(シリアル値))

で、日付を表すシリアル値から、日に当たる数値を取得します。引数にシリアル値2(1990/1/2)を指定した場合、2を返します。

 

DATE関数

書式は

=DATE(年, 月, 日)

で、年、月、日に数値を指定すると、指定した年月日を示すシリアル値を返します。

 

これらの関数を組み合わせることで、日付を表すシリアル値を年、月、日に分割して数値変換し、年の数値のみ加算した上で再度シリアル値化するという手順を踏んでいます。

B3セルの値である、「2018/8/29」の5年後を算出する場合、関数の記述は下記ものようになります。

= DATE(YEAR(B3)+5, MONTH(B3), DAY(B3))

 

 

 

 

日付間の日数計算

日付間の日数計算も、単純な引き算式で実現できます。

この場合、開始日セル、終了日セルの書式設定は「日付」に、日数セルの書式設定は「標準」にしておいてください。

日数セルに

= 終了日 – 開始日

の式を入力すると、

 

 

 

このように、開始日~終了日間の日数が算出出来ました。Excelの日付形式データの計算は、シリアル値によって行われるので、例えば

1990/1/31 – 1990/1/1

は、シリアル値に置換えると

31-1 = 30

となります。書式設定が「標準」の場合、シリアル値がそのまま表示されるので、日付間の日数が表示されるというわけです。

 

 

曜日判定

ある日付が何曜日なのかを判定するには、WEEKDAY関数を使います。

書式は

=WEEKDAY(シリアル値, 週の基準)

です。指定したシリアル値が示す日付が何曜日なのかを、数値で返します。

引数「週の基準」は、その値を変えることで、戻り値が示す曜日を変更できます。(1を指定した場合、戻り値は、1=日曜、2=月曜 … 7=土曜となります。)使い分けが必要な場面は少ないため、「週の基準=1」以外の場合についてはここでは言及しません。

この関数で曜日を取得する際は、セルの書式設定に注意してください。

デフォルト(標準)のままでは、戻り値は曜日ではなく、数値で表示されます。

 

 

 

これではパッと見て何曜日なのか分からないので、「セルの書式設定」の「表示形式」で、aaaaを指定します。これは曜日表示を指定する書式です。

 

 

すると、このように曜日が分かりやすく日本語で表示されます。

 

 

折角曜日を取得したので、その日付が休日かどうかの判定も行ってみましょう。

休日判定にはIF関数を用います。セルに入力する関数は以下の通りです。

= IF(OR(C13=1, C13=7), “休日”, “平日”)

IF関数の構造は、

= IF(①論理式, ②真の場合, ③偽の場合)

であり、上記の式は「C13セルの値が、1(日曜)または7(土曜)である場合、“休日”を、それ以外の場合は“平日”を表示する。」という意味になります。

 

 

このように、水曜日を平日と判断出来ました。

これらの式を下行にコピーして、他の曜日についても表示させてみると、

 

 

このように、土曜日、日曜日は休日、他の曜日については平日と判断出来ました。

 

日付の計算は暗算や電卓では難しいですが、Excelを使えば簡単に出来ます。会員登録の有効期限、社員の有休付与日、リース用品の使用期間等、日付や期間を管理したい場合は、Excelの日付関連機能を使うと非常に便利ですので、ぜひ使い方を覚えておいてください。

 

アーティでは、Excel、Access等の機能をフル活用し、お客様の業務効率化をお手伝いしています。業務改善相談は無料で行っていますので、ぜひ一度お気軽にご相談ください。