退職金・企業年金制度の現状分析には、DATEDIF関数が欠かせません。
現在年齢、入社年齢、勤続年数等は、このDATEDIF関数を使って求めます。
今使っているパソコンは、エクセル2007が入っています。
ある特定の年月日を入力すると、DATEDIF(開始日、終了日、”md”)
で、『142』というあり得ない日数が計算されました。
DATEDIF(開始日、終了日、”md”)は、月に換算しきれない端数の日数
を求めるもものですので、『31』未満でないとおかしいことになります。
この不具合について、ご存知の方も多いと思いますが、私は初めての経験
でしたので、びっくりしました。
そこでマイクロソフト社に問い合わせてみました。
以下マイクロソフトの回答を掻い摘んで説明してみます。
①DATEDIFは、マイクロソフトのエクセルには入っていない。
→そのとおりで、いちいちDATEDIFと入力する必要があります。
②DATEDIFはLotus1-2-3(ロータスワンツースリー)社のソフトにある
関数だそうです。
③よって、マイクロソフトのエクセル上で使うと、一定の条件のもとであり得
ない数字となるそうです。
④あり得ない数字が起こるのは、”yd”、”md”という、年数とか月数に換算
しきれない日数を求めるときに起こります。
⑤月を跨いでの計算、月末判定といった条件の、ある特定の年月日で不具
合が発生します。閏年の影響を受けることが原因の一つだそうです。
ということで、不具合が発生した時に使う計算式を教えてくださいました。
関数を組み合わせたもので、結構長いものです。が、あり得ない数字が出た
時には、この計算式により解決できるようです。
但し、教えていただいた不具合用の計算式は『2007』では使えるけれども、
それ以前のバージョンでは、使えないということでした。
『2007』以前のバージョンには入っていない関数を使っているためです。