3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(OpenOffice,Excel)二つの日付の経過(期間)を求める

年齢計算や経過日数を求めたい場合があります。

その場合、Excelだと、DATEDIF 関数使うと有用なようです。

書式は下記の通りです。

=DATEDIF(開始日,終了日,単位)

単位は下記のようになるようです。

"Y" 指定した期間の年数(満年数)を表示

"M" 指定した期間の月数(満月数)を表示

"D" 指定した期間の日数(満日数)を表示

"YM" 指定した期間の1年に満たない月数を表示

"MD" 指定した期間の1ヶ月に満たない日数を表示

"YD" 指定した期間の1年に満たない日数を表示

しかし、この DATEDIF 関数はLotus1-2-3との互換性を保つために用意されている隠し関数(関数ウィザードやヘルプにもない)なので、OpenOffice.org の Calc には存在しません。

Calcで DATEDIF 関数を代用しようとするには、DAYS関数・MONTHS関数・YEARS関数が有用なようです。

例えば、経過年数を求めるときは、YEARS関数を使います。

例:

=YEARS((開始日,終了日;0)

(Excelの =DATEDIF(A2,B2,"y") と同じ意味)

参考:

DATEDIF関数で期間の計算

DATEDIF関数の代用

関数のトラブル