現場に役立つエクセル関数(その4)

 エクセル関数の第4回は、日付関数です。日付を入力する機会はかなり多いと思いますが、関数を使うことは少ないと思います。

 この日付関数、実は少し取扱いが難しいのです。それで、ついつい使わず済ませてしまうようです。とはいえ、使えればとても便利なのも事実。取扱いの注意点を中心に説明していきましょう。


 注意点1、エクセルで日付はシリアル値という特別な数字で管理します。
 これは、1900/1/1を1とし、時間は24時間を1として考えます。つまり、1900/1/10 12:00は、エクセルでは10.5として管理します。(上記の日付時刻を入力した後で表示形式を標準にすればわかります)

 このため、引き算や足し算ができるのです。「日付を入れたのに変な数字が出てる」という相談を受けますが、これは表示形式が日付以外の他の形式になっているためです。日付表示にすれば元に戻ると覚えておきましょう。

 このシリアル値という管理ゆえに、文字からシリアル値に変換するとかシリアル値から年だけ抜き出すなどの関数が必要になります。

  目 的               関数名

数値で指定した日付データを求める DATE(年,月,日)
数値で指定した時間データを求める TIME(時,分,秒)
シリアル値から年を求める     YEAR(シリアル値)
シリアル値から月を求める     MONTH(シリアル値)
シリアル値から日を求める     DAY(シリアル値)
シリアル値から時を求める     HOUR(シリアル値)
シリアル値から分を求める     MINUTE(シリアル値)
シリアル値から秒を求める     SECOND(シリアル値)
曜日を数字で表す         WEEKDAY(シリアル値,種類)

※シリアル値は、実際にはセルに入力した日付があれば、そのセル番地(A1とかC1等)を指定すればOKです。

 注意点2、自動的に変わる関数があります。
 パソコンの時計を利用して日付・時刻を自動更新するものがあるのです。

  目 的               関数名
 今日の日付を表示する       TODAY()
 今日の日付時刻を表示する     NOW()

この2つの関数は、引数がいりません。そのかわりに、入力されたエクセルのシートでは常に日付・時刻を確認しています。エクセルのシートに印刷時刻を表示したい場合には非常に便利ですが、ファイルを開くたびに日付・時刻は変わってしうため、作成日などを記録しておきたい時には不向きです。覚えたてのころは、つい便利なので使ってしまいがちですが、開くたびに書き換わりますから、修正日などに使用すると「前はいつ修正したのか」がわからなくなってしまいます。ご注意ください。

 注意点3、幻の関数があります。
 これは他の表計算ソフトとの互換性を考慮して残されているもので、ヘルプには載っていないのですが使うことができます。

  目 的               関数名
日付を和暦文字に変換する   DATESTRING(日付のシリアル値)
開始日と終了日との日数差   DATEDIF(開始日,終了日,”単位”)

※単位は下記の6種類です。
    Y:年数  M:月数  D:日数
    YM:年数表示での端数の月数
    YD:年数表示での端数の日数
    MD:月数表示での端数の日数

一つ目のDATESTRINGは、TEXT(A1,”ggge年mm月dd日”) という関数で代用できますが、二つ目のは単位の選び方によってはなかなか代用しにくい関数です。そのため、未だに裏技として紹介されている場合が多いです。(生年月日から現在の年齢を出すときによく使われています。)しかし、不具合もあるようなのであまりお勧めしません。

 注意点4、分析ツールアドインを組み込まないと出てこない関数が意外と便利です。
 初心者の方はあまりご存じないでしょうが、エクセルはアドインを組み込むことでいろいろな機能を追加できます。メニューの中から[ツール]?[アドイン]と選ぶと、標準でいくつかのアドインが選べるようになっています。このなかの[分析ツール]を選ぶと、下記の関数が使えるようになります。

  目 的               関数名
指定された稼動日数だけ日付  WORKDAY(開始日,日数,祭日)
指定された期間の稼動日数   NETWORKDAYS(開始日,終了日,祭日)
日付がその年の第何週目    WEEKNUM(シリアル値,週の基準)
月末の日付          EOMONTH(開始月,月数)
指定した月数だけ前後した日付 EDATE(開始日,月数)

※祭日は、祭日の一覧をシートに記入してセル範囲を指定します。WORKDAYとNETWORKDAYSは、自動的に土日も差し引くので注意が必要です。

 上記の関数は、納品日や請求日を計算するのに重宝します。一度使えるようになると手放せなくなるでしょう。

 日付関数は、注意点を把握した上で利用すれば、勤務表や請求管理、納品管理など日付をつかうシートでの入力手間が削減でき、非常に便利です。ぜひ使いこなしてください。