2006/12/03(日) 生年月日から年齢を計算する

 OpenOffice.orgの場合はYEARS(A1;NOW();0)でいいことを検索して知った。Excelの場合はどうするのだろう。「Excel関数スパテク333」という本を以前買っていたので読んだら、DATEDIF(A1,TODAY(),"Y")とするそうだ(いずれもA1セルに生年月日を入れた場合)。年齢を計算する-DATEDIF関数:Excel エクセルの使い方-計算式/関数にも書いてある。

 ただしExcelの場合は1900年より前の生年月日を入れるとエラーになる。1900年1月1日を1として日付を計算しているのだそうだ。OOoの場合は1900年以前でも何ら問題ない。

 職場のパソコンにOOoしか入っていないので、いろんなファイルを作っているが、数式が入ったファイルの場合はExcelとの互換性がネックになるなあ。それにしてもDATEDIF関数、ヘルプに書いてない(書いてあるバージョンもあるとのこと)。なぜだろう。