DATEDIF関数を使って年齢を計算する方法
=DATEDIF(開始日,終了日,単位)
開始日:誕生日を入力
終了日:今日の日付を入力
単位:「年単位」なら“Y”、「月単位」なら“M”、「日単位」なら“D”
DATEDIF関数が使えない場合
方法1:Excelのオプションから「1904年から計算する」にチェック
※日付データをすでに入力している場合は注意
※オプションはAltキー、Tキー、Oキーを順番に押して開く
方法2:ROUNDDOWN関数で代用する
※数日誤差が出ます
Excelで誕生日から年齢を自動計算するときには、DATEDIF関数が一番便利です。
ただし、公式ではサポートされていない関数で、Excelのデフォルト設定では使用できなくなっています。
この記事ではDATEDIF関数の使い方や、使えない場合のオプションの設定変更方法、DATEDIF関数以外での年齢計算の代用法について詳しく解説します。
この記事ではExcelCamp講師が研修で実際に説明している手順に沿って、解説いたします。
DATEDIF関数で年齢を自動計算する方法
DATEDIF関数の書き方
=DATEDIF(開始日,終了日,単位)
開始日:誕生日を入力
終了日:今日の日付を入力
単位:「年単位」なら“Y”、「月単位」なら“M”、「日単位」なら“D”

Excelで誕生日から年齢を自動的に計算したいとき、DATEDIF関数を使います。

「DATEIF」ではなく、「DATEDIF」です。
Dを書き忘れてしまいがちなので、ご注意ください。
まず=datedif(と書きます。

次に誕生日が書かれたセルを参照して,(半角カンマ)を打ちます。

次に今日の日付を入力します。直接“2023/02/05”のように入力するか、TODAY関数を使って以下のように書いてください。

同じく,(半角カンマ)を打って、単位を「年単位」に設定します。

最後に)を入れて、Enterキーで式を確定させます。

これで正しい年齢が計算できます。

あとは「急がば回れ」とCtrl&Dを使って、すべての行に敷きを反映させれば完了です。



DATEDIF関数はExcel公式にサポートされていない関数なので、関数候補に名前が出てきません。
またExcelデフォルトの設定では数字がおかしくなってしまうので、事前にオプションから設定を変更しておく必要があります。
DATEDIF関数の結果がおかしくなっているときの対処法

画像のように、正しくDATEDIF関数を書いているのに結果が正しくない場合、Excelのオプションから設定を変更する必要があります。
オプションはAltキーを押しながらTキー、Oキーを順番に押すことで開けます。
※もしくは「ファイル」メニューから「オプション」を選択します

オプションが開いたら、「詳細設定」のタブに移動します。

タブ内の項目を下にスクロールして、「次のブックを計算するとき(H)」と書かれた項目内の「1904年から計算する(Y)」にチェックを入れます。
※チェックはAltキーを押しながらYキーを押せばつけ外しが可能です。

チェックが付けられたらOKボタンを押すか、Enterキーでオプションの設定を完了します。

すると年齢が正しい値に修正されるはずです。

この変更には大きな注意点があります。
Excelのデフォルト設定では「1900年」から計算する仕様になっているため、すでにどこかのセルで日付を入力している場合、「1904年から計算する」にチェックを入れることで値が4年分ずれてしまいます。
そのためDATEDIF関数を使う可能性があるシートについては、先にオプション設定を変更しておく必要があります。
もしすでに日付データを沢山入力してしまっているシートで年齢を自動計算したい場合は、DATEDIF関数に比べて計算の精度は落ちますが以下の代用方法をお試しください。
ROUNDDOWN関数で年齢を自動計算する方法
ROUNDDOWN関数の使い方
数値の小数点以下を切り捨てる関数。日付データもExcelでは「数値」として扱われるため、年齢計算にも使用することができる。
書き方:=ROUNDDOWN(TODAY()-誕生日,0)/365
もしDATEDIF関数を使えない状況の場合は、ROUNDDOWN関数で代用する方法があります。

ただしDATEDIF関数のように1日単位で正確に年齢を計算することはできませんのでご注意ください。
まず=rounddと書き、関数候補がROUNDDOWN関数のみに絞られたらTabキーを押します。

「数値」に「今日の日付-誕生日の日付」を入力します。

,(半角カンマ)を打ち、桁数には0を入力して)を閉じます。


これで誕生日から今日の日付までの「日数」を計算できます。
最後に365で割ることで、大体の年齢を概算することができます。

Enterキーを押して式を確定させ、「急がば回れ→Ctrl&D」ですべての行に反映させます。


この計算方法では「うるう年」を考慮に入れていないため、年齢に誤差が出てしまいます。
たとえばBさんはまだ27歳のはずですが、計算結果は28歳となっています。
正確な年齢ではなく、「20代」「30代」などざっくりの年代を出したいときにはこの計算方法で代用してしまってよいかと思います。


休日「1日」を投資して、平日の生産性を最大「20倍」にするExcel研修
私たちが提供するExcel研修「上位1%を目指す!ExcelCamp」では、これまで延10,000名以上の方に研修を受講いただき、受講者満足度は9.71(※)という大変高い評価を頂いております。
※10点満点中の評価の平均値。
休日1日を研修に使うのは「やや重たい」というご意見もいただきます。
しかし、本当にExcelスキルを実践で使えるレベルで高めるとなると、通常数年はかかるものです。
実際にExcelCampで教える内容は、代表の中田が業務コンサルタントとして数年間、毎日10時間以上Excelと向き合った結果ようやく生まれたスキルです。
そのことを考えると、休日の「たった1日」を投資して、その後のExcel業務の生産性を圧倒的に高めることは決して悪くない選択だと思います。
参加者の中にはお伝えしたスキルを仕事の現場で活かし、生産性が「20倍」になったという事例もあります。
動画サービス「bizplay(ビズプレイ)」で研修の一部を無料公開中!
※全4回の動画のダイジェスト版です。
※第1~4回の内容をフルで視聴するには、bizplayへの無料会員登録が必要です。
現在セミナー動画見放題サービス「bizplay」で、ExcelCamp Day1の講義内容の一部を無料配信しています。
全4回に分けてExcelが得意になるための考え方や覚えておくべき基本操作を解説していますので、Day1への参加を迷われている方はぜひ一度ご覧ください。
著書「神速Excel」も絶賛発売中
