「家系図」を作成している方からの質問です。
1900年以降に生まれた人は、DATEDIF関数で簡単に年齢計算ができます。
1900年以前生まれの人にそのまま適用すると「エラー」となって、年齢が計算できません。
どうすればエラーが出なくなり、年齢計算ができるようになるのでしょうか?
パソコンは、1900/1/1を1とした「シリアル値」で年月日を計算(管理?)しています。
1900年以前をマイナスとしては計算できないので、エラーとなるのかな?
1900年までの年齢を、1900年以降の年齢にプラスして算出しようとしましたが無理でした!
400年先が同じ曜日となることを利用して年齢計算が出来るようです。
(うるう年が完全に一致するらしい)
2017年1月28日現在で年齢を計算してみました。(誕生日が1900年以前・以後に関係なく年齢計算ができます)
全ての年月日を400年先に移動させて計算させています。
使用した関数と式は次の通りです。
=DATEDIF(DATE(B5+400,MONTH(C5),DAY(D5)),DATE(YEAR(TODAY())+400,MONTH(TODAY()),DAY(TODAY())),"y")
DATE(B5+400,MONTH(C5),DAY(D5) → 1900年より前の誕生日も400年後に換算
DATE(YEAR(TODAY())+400,MONTH(TODAY()),DAY(TODAY())) → 今日の日付を400年後に換算
B5 に実際の誕生年
C5 に誕生月
D5 に誕生日 が入力されているものとした場合です。
1900年以前の和暦も自動表示させるようにしてみました。(換算表を作成して月日と合成しています)
明治、大正、昭和、平成の元年と終わりの日を表示させてみましたが、正確には一致しませんでした。
通常の使用にはまったく問題はないと思います。
氏名 生 年 月 日 を入力すれば、和暦と年齢が自動で表示されます。

興味のある方は、ファイルを下記からダウンロードしてください。
1900年より前に生まれた人の年齢計算.xlsx
「計算式表示」シートで細かい設定が確認できるはずです。
久しぶりに 「 Excel 」で遊んで、頭の体操になりました。