Worksの技術サポートページに、生年月日から今日の年齢を計算する数式が掲載されています。Officeとでもいうべきアプリケーションです。Excelで年齢を計算するにはDATEDIF関数を使うのが有名な方法ですが、このWorksの技術サポートページではDATEDIF関数を使わずに年齢を計算する方法が掲載されています。[スポンサードリンク]DATEDIF関数を使わないで年齢計算を行う数式Works用の記事ではありますが、Excelでもそのまま使え、考え方が広く応用の効くものですので、補足を入れてご紹介しておきます。1)」という計算式を入力するYEAR・MONTH・DAY関数とIF関数を組み合わせて、年齢計算を行っている数式です。年齢計算の基本は、現在の西暦年から生まれた年の西暦年の引き算です。それが「YEAR(A1)-YEAR(B1)」の部分です。ポイントは、誕生日を過ぎているかどうかです。誕生日を既に過ぎているときは「YEAR(A1)-YEAR(B1)」でOKですが、誕生日より前の日付なら「YEAR(A1)-YEAR(B1)」から「1」を引き算しなければなりません。誕生日を過ぎているかどうかを判定するのに、月と日にちを確認する必要があります。それを一つの比較演算で行うために、月のほうを100倍(MONTH(A1)*100・MONTH(B1)*100)しておいて、そこに日付(DAY(A1)・DAY(B1))を足し算したものを比較しています。この考え方は、日付関連の計算でいろいろと応用が効きそうです。誕生日の前日に年齢を加算する必要がある場合は、以下のような数式です。1)」という計算式を入力する▼サンプルファイル(28KByte)ダウンロードサンプルファイルのC1:C2セルに上記の2つの例を作成してあります。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。