メインコンテンツへスキップ
見出し画像

[EXCEL]基準日-誕生日という単純な式で満年齢が出せるのか検証せよ!

    ▶ 目次 > 日付と時間のトラブルレスキュー

    【問題】
    基準日セル-誕生日セルの計算結果を、「セルの書式設定」の「ユーザ設定」の「種類」欄を「yy」にすることで、正しい満年齢が出せるか、検証せよ。

    【説明】
    先日、総務部門から、4月から勤務する人のデータを入れるためファイルがきました。

    年齢関係では 「年齢  歳」というセルと、「生年月日 〇年〇月〇日」というセルがあり、前者には計算式が入っています。
    計算式は、「=R7/4/1と入っているセル - 誕生日(上の「〇年〇月〇日生まれ」)のセル」でした。

    画像

    そして、年齢を表示するセルは、「セルの書式設定」で「yy」となっています。
    つまり、計算結果のうち「年」しか表示しない、ということです。

    画像

    これを最初に見たときは、「こんなやり方があるのか!」と驚きでした。
    年齢計算には苦労したことがありましたから。
    ただ、同時に「これで本当に正しい年齢が出せるのか?」という疑問も湧きました。
    そこで検証してみることに。

    満年齢の計算で一番わかりやすいのは4月1日生まれです。
    4月1日生まれは翌年の3月31日に満1歳になります。
    そう、年は誕生日の前の日に取るのです(だから、4月1日生まれは前の学年に入る)。
    これについては、以下をご覧ください(結構くどいです)。
    [Excel]誕生日の前日に年を取るのはなんで?、と思った方へ(WEB記事やエクセル本は不正確なものが多いので注意)

    そこで、昨年(R6年)4月1日に生まれた人が、いつ1歳になるかを正確に出せるか、計算式を比べてみました。


    結果は、こちら。

    画像

    やっぱり、もらったファイルの計算式は間違っていました。
    本来は、3/31に1歳になっていなければおかしいのですが、単純に「基準日-誕生日」だと、3日もずれています!
    なお、「DATAEDIF①」は、WEBでよく見かけるDATEDIF関数を使った年齢計算の方法ですが、これも(法的には)間違い。年を取るのが4/1になってしまっています。
    法的に正しいのは、「DATEDIF②」。

    なぜ、こんなことがあおきるのか?

    上の方は「年」ですが、これを「日」にしてみます。

    DATEDIF関数は 年と算出する”Y”を、日を表示する”D”に直し、「イーア」つまり、「基準日-誕生日」のことろは、セルの表示を標準に戻します(Ctrl + Shift + ^)。

    すると、以下の通りとなりました。

    画像

    DATAEDIF①とDATAEDIF②は、それぞれ満1歳になったのは、365日目(満1年到達日)となっています。
    これはわかります(DATEDIF①は「法的」には正しくないけれど)。
    しかし、「イ(基準日)ーア(誕生日)」は、なぜか、367日目。
    なぜ?
    この理由は今のところわかりません(間にうるう日も入っていない)。

    いずれにせよ、単純な「基準日 - 誕生日」では、正しい満年齢は出ない、ということでした。

    年齢計算は面倒ですので、何とか楽できないかな、とうことでこういう式が入ったのでしょう。こういう発想は好きです。
    でも、お役所ですから「法的」に正しい満年齢を出すのは当然です。
    なので、計算式を入れたら、単純な例で検証しておくことが理想的です。


    年年数や年齢計算について、もっと知りたい方は以下をどうぞ。
    [Excel]期間計算/年数計算/年齢計算(DATEDIF関数、YEARFRAC関数)まとめ
    [EXCEL]PDF版 日付(年月日)と時間の入力・表示・計算を掲載しました

    コンパクトにまとめたPDF版もあります。
    [EXCEL]お役所のエクセル PDF版(順次追加中)


    ★注意
    こまかいことですが、「誕生日」と「生年月日」は、厳密には違いますよね。
    「誕生日」=「生年月日」ともいえますが、
    「生年月日」は「〇年〇月〇日」しかない一方で、
    「誕生日」は「〇年〇月〇日」以外にも「▲年〇月〇日」「◇年〇月〇日」もあります。
    つまり、生年月日は1回しかないけど、誕生日は毎年ある、ということです。
    ですから、「生まれたその日」を示す場合には「生年月日」であるべきですね。
    お役所の書類は大体そうなっているでしょう。
    法律だと「出生日」となっているかと思います。
    今回の記事は「誕生日」という表現が、「生年月日」と毎年のものと、両方に使ってしまっていますが、ご寛恕ください。


    以上 今日の記事はあまり参考にならないと思いますが。
    (作業 1日 1h)

    日付と時間のトラブルなら、こちら

    軽めのトラブルはこちらをどうぞ
    「プチトラブルレスキュー」シリーズ 一覧記事

    あなたへのおすすめ