OpenOfficeで期間を求める

期間とは、たとえば、誕生日とか、何かが始まって今年で何周年とか、そんなようなことです。
エクセルなら、
=DATEDIF(開始日,終了日,"Y")で満年齢
=DATEDIF(開始日,終了日,"YM")で年を除いた経過月数
=DATEDIF(開始日,終了日,"MD")で年と月を除いた経過日数
を簡単に得ることができましたが、OpenOfficeでは、ちょっと面倒なことをしなければいけません。
なぜなら、DATEDIF関数がないからです。
その代わり、下の関数があります。
関数名:YEARS関数
書式:=YEARS(開始日;終了日;0)
何ができる:経過年数を得る 最後が0で、満経過年数(年の場合、満年齢)、最後を1にすると、年が変わった時点で1を加える(年齢の場合、数え年)
平たく書くと:=YEARS(B2;TODAY();0) *B2セルに誕生日が入力されている場合

関数名:MONTHS関数
書式:=MONTHS(開始日;終了日;0)
何ができる:経過月数を得る 最後が0で、満経過月数)、最後を1にすると、月が変わった時点で1を加える。
平たく書くと:=MONTHS(B2;TODAY();0) *B2セルに誕生日が入力されている場合

関数名:DAYS関数
書式:=DAYS(開始日;終了日)
何ができる:経過日数を得る

が、面倒なのは、MONTHS関数です。
DATEDIF関数では、=DATEDIF(開始年月日,終了年月日,"MD")で、5年8ヶ月の8ヶ月を容易に得ることができましたが、MONTH関数では、68(5年x12ヶ月と8ヶ月の合計)を返してしまいます。
そこで、ちょっと小技を使う必要があります。

余りを求めるMOD関数を使います。
MOD関数の書式は、=MOD(A;B)で、A÷Bの余りを得ることができますので、これを使い、
=MOD(MONTHS(開始日;終了日;0);12)で年を除いた経過月数を得ることができます。
OpenOfficeで誕生日から年齢を得るサンプルファイルは、calc028.odsをダウンロードしてください。

送信者 OpenOffice
エクセルと同じ値が得られていることを確認してみました。↓
送信者 OpenOffice