• 公開日:

エクセルで年齢をTODAY関数で計算する方法

Excelで年齢を計算する際、TODAY関数を活用する方法が便利です。

この記事では、TODAY関数を含めて複数の関数を組み合わせ、年齢を計算する方法を紹介します。

これにより、セルに誕生日を入力するだけで自動的に正確な年齢が表示されます。日付関数を使いこなして、Excelでの作業効率を向上させましょう。

エクセルで年齢をTODAY関数で計算する方法

DATEDIF関数を組み合わせる

TODAY関数とDATEDIF関数を組み合わせて年齢を計算する方法については、以下を参照してください。

数式を入力するセルを選択する

上記B2セルの誕生日と現在の日付「2024/6/20」を数式に使用して、年齢を計算します。

数式を入力するセル(例:C2)を選択します。

数式を入力する

数式バーに「=DATEDIF(B2,TODAY(),"Y")」を入力し、Ctrl + Enterを押して確定します。

この数式は、DATEDIF関数を使って、B2セルの誕生日と現在の日付の年の差を求めるための式です。

DATEDIF関数の詳細については、以下の記事を参照してください。

ExcelのDATEDIF関数の使い方|2つの日付間の年数/月数/日数を計算

年齢を計算できた

C2セルに「24」が表示されました。

TODAY関数とDATEDIF関数を組み合わせて、年齢を計算することができました。

INT関数とYEARFRAC関数を組み合わせる

TODAY関数とINT関数とYEARFRAC関数を組み合わせて年齢を計算する方法については、以下を参照してください。

数式を入力するセルを選択する

上記B2セルの誕生日と現在の日付「2024/6/20」を数式に使用して、年齢を計算します。

数式を入力するセル(例:C2)を選択します。

数式を入力する

数式バーに「=INT(YEARFRAC(B2,TODAY(),1))」を入力し、Ctrl + Enterを押して確定します。

この数式の「YEARFRAC(B2,TODAY(),1」では、B2セルの誕生日から現在の日付までの期間が、1年間に対してどれだけの割合であるかを求めるための式です。

具体的には、「2000/6/10」から「2024/6/20」までの期間を使って計算した場合、「24.0254…」という数値が返ります。

そして、この「24.0254…」にINT関数を用いることで小数点以下を切り捨てた値を求めることができます。

INT関数の詳細については、以下の記事を参照してください。

エクセルのINT関数の使い方|元の数値より小さい整数に切り捨て

年齢を計算できた

C2セルに「24」が表示されました。

TODAY関数とINT関数とYEARFRAC関数を組み合わせて、年齢を計算することができました。

IF関数とYEAR関数とMONTH関数を組み合わせる

TODAY関数とIF関数とYEAR関数とMONTH関数を組み合わせて年齢を計算する方法については、以下を参照してください。

数式を入力するセルを選択する

上記B2セルの誕生日と現在の日付「2024/6/20」を数式に使用して、年齢を計算します。

数式を入力するセル(例:C2)を選択します。

数式を入力する

数式バーに「=YEAR(TODAY()) - YEAR(B2) - IF(OR(AND(MONTH(TODAY()) = MONTH(B2), DAY(TODAY()) < DAY(B2)), MONTH(TODAY()) < MONTH(B2)), 1, 0)」入力し、Ctrl + Enterを押して確定します。

数式ついては、以下の「TODAY関数とIF関数とYEAR関数とMONTH関数を組み合わせた数式について」セクションで詳しく解説します。

表示形式を変更する

C2セルに「1900/1/24」が表示されました。

次に、表示形式を変更して正しい年齢が表示されるようにします。

「ホーム」タブを選択し、②「数値の書式」の「v」ボタンを押します。「標準」を選択します。

年齢を計算できた

表示形式を変更したことで、C2セルに「24」と表示されるようになりました。

TODAY関数とIF関数とYEAR関数とMONTH関数を組み合わせて、年齢を計算することができました。

TODAY関数とIF関数とYEAR関数とMONTH関数を組み合わせた数式について

数式について

「=YEAR(TODAY()) - YEAR(B2) - IF(OR(AND(MONTH(TODAY()) = MONTH(B2), DAY(TODAY()) < DAY(B2)), MONTH(TODAY()) < MONTH(B2)), 1, 0)」という数式について解説します。

まず、「YEAR(TODAY()) - YEAR(B2)」という数式で現在の日付とB2セルの誕生日の年の差を求めます。

しかしこの数式だけでは、今年の誕生日を迎えていなくても、「+1」した年齢が返されてしまいます。

そのため、「-IF(OR(AND(MONTH(TODAY()) = MONTH(B2), DAY(TODAY()) < DAY(B2)), MONTH(TODAY()) < MONTH(B2)), 1, 0)」という数式を追加します。

IF関数を用いることで、以下の条件のどちらか一方が満たされる場合、計算結果から「1年」を引きます。

  • 「現在の月と誕生日の月が同じ」かつ「現在の日が誕生月の日よりも前」の場合。
  • 「現在の月が誕生日の月よりも前」の場合。

つまり、今年の誕生日を迎えていない場合には、「YEAR(TODAY()) - YEAR(B2)」で求めた差から「-1」を行い、正確な年齢を求めます。

IF関数の詳細については、以下の記事を参照してください。

ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐