MS Excel (Excel) は、幅広い組み込みツールと機能を備えた、広く使用されているスプレッドシート ソフトウェアです。これは、さまざまなデータセットを記録し、複数のセルを使用してデータセット全体で計算を実行するのに役立ちます。古典的な計算の例は、2 つの日付の差を計算することです。ただし、それは有用な計算とは思えません。ただし、Microsoft Excel で誰かまたは何かの年齢を検索または計算するには、同じテクニックがある程度重要です。
人の年齢を調べる以外にも、同じ概念を使用して、プロジェクトの期間、会社の存続年数、指定された日付間の経過年数などを計算できます。
このチュートリアルでは、Excel で年齢を計算するさまざまな方法や解決策について説明します。このチュートリアルは、現在の日付または特定の日付における完全な年、月、日の数として年齢を計算する方法を学ぶのに役立ちます。
Excelで年齢を計算するにはどうすればよいですか?
Excel には年齢を計算するための特定の関数はありませんが、さまざまなシナリオで異なる方法で年齢を計算する方法はたくさんあります。ただし、個人の元の生年月日 (D.O.B.) を知る必要があります。次に、Excel 関数、特に DATEDIF と TODAY を組み合わせて生年月日を指定し、年齢を計算したり日付を区別したりします。次に、年齢を見つける一般的なシナリオについて説明します。
年齢の計算
私たちは通常、人の年齢を計算する際にいくつかの要素を考慮します。たとえば、年齢を年、月、日、またはこれらすべてを組み合わせて計算する必要がある場合があります。ただし、人の年齢を年単位で計算することは、Excel で最もよく使用されるタスクです。
生年月日がわかっていると仮定すると、Excel のいくつかの異なる関数を使用して、人の年齢を年単位で計算できます。それぞれの有用な年齢計算式について詳しく説明します。
DATEDIF関数の使用
Excel の DATEDIF 関数は、人の年齢を計算する最も一般的な関数です。これは、入力日付として生年月日を受け取り、出力データとして人の年齢を返す、使いやすい組み込みの最も適切な関数です。
別の方法では、DATEDIF 関数は通常、生年月日を対応する人の年齢に変換します。 DATEDIF 関数の主な利点は、年のみ、月のみ、日のみ、または年、月、日付を組み合わせた形式など、さまざまな形式で年齢を計算するために使用できることです。
他の Excel 関数とは異なり、DATEDIF 関数は関数のクイック リストには表示されません。つまり、Excel セル内で等号の後に DATEDIF 関数を入力し始めると、その関数が候補として表示されません。ただし、この関数は Excel のすべてのバージョンで動作します。 Excel で DATEDIF 関数を使用するには、構文と必要な引数を理解する必要があります。
DATEDIF 関数の一般的な構文は次のように定義されます。
=DATEDIF(start_date, end_date, unit)
ここに示すように、この関数には次の 3 つの引数が必要です。
Y、M、D はそれぞれ整数の年、月、日の数値を返すことに注意することが重要です。対照的に、YM は、対応する日と年を無視して月単位の日付差のみを返します。MD は、関連する月と年を無視して日単位の日付差のみを返します。YD は、対応する年を無視して日単位の日付差を返します。
DATEDIF 関数を使用して年齢を計算する場合、より一般的な構文は次のように定義できます。
=DATEDIF(生年月日,特定の日付,'Y')
誕生日から現在までの年齢を計算するには、Specific_Date の代わりに現在の日付を指定します。さらに、現在の日付の代わりに TODAY 関数を使用することもできます。今日の日付までの人の年齢を年数で計算するためのそれぞれの式は次のとおりです。
=DATEDIF(誕生日,TODAY(),'Y')
セル B2 にある人の生年月日があり、現在の年齢を年単位で計算する必要があるとします。次に、最後の式で生年月日の参照を次のように使用できます。
=DATEDIF(B2,TODAY(),'Y')
場合によっては、年齢ではなく特定の日付が表示されることがあります。このような場合は、[ホーム] タブ > [数値形式] ドロップダウンに移動し、[日付] ではなく [一般] を選択する必要があります。
YEARFRAC関数の使用
Excel で年齢を計算するもう 1 つの便利な方法は、YEARFRAC 関数を使用することです。これは使いやすい Excel 関数であり、年齢を計算するためによく使用されます。これは、指定された生年月日から指定された日付までの年齢を取得するのに役立ちます。
YEARFRAC 関数を使用して人の年齢を計算するための一般的な構文は次のように定義されます。
=YEARFRAC(Birth_Date,Specific_Date)
誕生から今日の日付までの年齢を計算する必要がある場合は、Specific_Date の代わりに現在の日付を指定できます。あるいは、次の方法で YEARFRAC 関数と TODAY 関数を結合することもできます。
=YEARFRAC(誕生日,TODAY())
デフォルトでは、上記の式は結果を 10 進数で返します。これは人の年齢を計算する場合には好ましくありません。そこで、式を INT 関数内で組み合わせるか囲んで、対応する年齢を整数として返します。したがって、YEARFRAC 関数を使用して Excel で年齢を計算する完全な式は次のように定義されます。
=INT(YEARFRAC(誕生日,特定の日付))
セル A2 に現在の日付があり、セル B2 にその人の生年月日があるとします。その場合、次の式を使用してその特定の人の年齢を計算できます。
=INT(YEARFRAC(B2,A2))
chownコマンド
YEARFRAC 関数と TODAY 関数を使用して年齢を計算すると、式は次のようになります。
=INT(YEARFRAC(B2, TODAY()))
TODAY 関数と組み合わせると、YEARFRAC 関数は現在または最新の年齢を年単位でのみ返します。
ROUNDDOWN関数の使用
あまり使用されませんが、Excel で年齢を計算するために ROUNDDOWN 関数を使用することもできます。 Excel で ROUNDDOWN 式を使用して年齢を計算する構文は次のとおりです。
=ROUNDDOWN((Specific_Date - Birth_Date)/365.25,0)
一般に、ROUNDDOWN 関数は小数点以下を切り捨てるのに役立ちます。ただし、年齢を年単位で計算するように数式をカスタマイズしました。この式では、4 年に一度の閏年 (1 年は 366 日) に 365.25 を使用します。 ROUNDDOWN 関数の最後の引数として 0 を使用して、年齢の小数点以下の桁を無視します。
ROUNDDOWN 式は年齢を計算するための良い方法ですが、完璧ではないため推奨されません。子供がまだ閏年を経験していない場合、この式を 365.25 で割って年齢を計算します。式は間違った年齢を返します。
年間の平均日数で割ることも、ほとんどの場合問題なく機能します。つまり、365.25 日ではなく 365 日で割ることができます。ただし、この場合にもいくつかの問題があり、間違った結果が生成されることがあります。たとえば、誰かの D.O.B. が 1 つであるとします。は 2 月 29 日で、現在の日付は 2 月 28 日です。この場合、365 で割ると、数式で取得される年齢は 1 日古くなります。したがって、この場合日付を計算するには 365.25 で割る必要があります。したがって、これら 2 つのアプローチは完璧ではありません。 Excel で人の年齢を計算するには、DATEDIF 関数を使用することを常にお勧めします。
セル A2 に現在の日付があり、誰かの日付がセル A2 にあるとします。セルB2にあります。その場合、次の式を使用してその特定の人の年齢を計算できます。
=ROUNDDOWN((A2-B2)/365.25,0)
さらに、Specific_Date の代わりに TODAY 関数を使用して、現在の日付までの人の年齢を計算することもできます。
TODAY関数の使用
年齢は現在の日付から生年月日を引くことによって計算されるのが最も一般的であるため、Excel の TODAY 関数も年齢をある程度計算するのに役立ちます。 ROUNDDOWN 式と同様、TODAY 式も Excel で年齢を計算するのには最適ではありません。
セル B2 に誰かの生年月日があるとします。次の方法で TODAY の式を適用して年齢を計算できます。
=(今日()-B2)/365
場合によっては、365 ではなく 365.25 で割る必要がある場合があります。この式では、通常、最初の部分 (TODAY()-B2) で現在の日付と生年月日の差が計算されます。式の 2 番目の部分は、差を 365 で割って年数 (つまり、年齢) を求めるのに役立ちます。
残念ながら、ここでの TODAY 式では、YEARFRAC 関数と同様に、結果が 10 進数で表示されます。したがって、年齢を整数または最も近い整数値で表示するには、TODAY 式を INT 関数内に囲みます。したがって、年齢を年単位で計算する最終的な TOTAL 式は次のようになります。
=INT((今日()-B2)/365)
月齢の計算
前に述べたように、DATEDIF 関数は、さまざまな形式で人の年齢を計算するのに役立ちます。したがって、ワークシートで同じ DATEDIF 式を再度使用できます。ただし、式内の単位を「Y」から「M」に変更する必要があります。これにより、Excel に月齢を表示または返すように指示されます。
セル B2 に誰かの生年月日が入っている同じデータ セットの例を再考してみましょう。現在の年齢を月単位で計算する必要があります。次に、次の方法で DATEDIF 式で生年月日の参照を使用できます。
=DATEDIF(B2,TODAY(),'M')
年齢を日数で計算する
DATEDIF 関数の構文をすでに知っていれば、年齢を日数で計算するのは簡単になります。前の例と同様に、単位引数を「Y」から「M」に変更しました。これにより、人の年齢を月単位で計算できるようになりました。同様に、単位引数を「M」から「D」に変更すると、関数は年齢を日数で返します。したがって、人の D.O.B. ががセルB2にある場合、数式は次のようになります。
=DATEDIF(B2,TODAY(),'D')
年齢を年、月、日で計算する
上で説明したように、人の年齢を年、月、日ごとに計算するのは驚くほど簡単です。ただし、これだけでは必ずしも十分とは限りません。場合によっては、人の正確な年齢を年、月、日単位で検索または計算する必要がある場合があります。このような場合、式は少し長くなりますが、それでも簡単です。
その人の正確な年齢を年、月、日単位で計算するには、3 つの異なる DATEDIF 関数を使用し、それらを式で同時に組み合わせる必要があります。その人の生年月日がセル B2 にある場合、3 つの異なる DATEDIF 関数は次のようになります。
- 完全な年数を計算するには: =DATEDIF(B2,TODAY(),'Y')
- 残りの月数を計算するには: =DATEDIF(B2,TODAY(),'YM')
- 残りの日数を計算するには: =DATEDIF(B2,TODAY(),'MD')
ここで、次のように「&」演算子を使用してこれらすべての DATEDIF 関数を結合します。
=DATEDIF(B2,TODAY(),'Y')&DATEDIF(B2,TODAY(),'YM')&DATEDIF(B2,TODAY(),'MD')
年齢、年、月、日付を単一の文字列として取得しますが、意味はありません。結果 (または年齢) を効果的または理解しやすくするために、各単位をカンマで区切って、それぞれの値が何を意味するかを判断します。したがって、式は次のようになります。
=DATEDIF(B2,TODAY(),'Y') & ' 年, ' & DATEDIF(B2,TODAY(),'YM') & ' 月, ' & DATEDIF(B2,TODAY(),'MD') & ' 日々'
上の画像は、年齢の結果が前の画像よりも比較的意味のあるものであることを示しています。ただし、いくつかのゼロ値も表示されます。 DATEDIF 式を 3 つの異なる IF ステートメント内で組み合わせてゼロをチェックして削除することで、DATEDIF 式をさらに改善できます。したがって、現在の年齢を年、月、日で計算するための Excel の最終的な年齢計算式は次のようになります。
=IF(DATEDIF(B2, TODAY(),'Y')=0,'',DATEDIF(B2, TODAY(),'Y')&' 年, ')& IF(DATEDIF(B2, TODAY(), 'YM')=0,'',DATEDIF(B2, TODAY(),'YM')&' 月, ')& IF(DATEDIF(B2, TODAY(),'MD')=0,'',DATEDIF (B2, TODAY(),'MD')&'Days')
上の画像では、人の年齢のゼロ以外の値のみが表示されます。ただし、この式で求められるのは現在の年齢だけです。
特定の日付の年齢を計算する
上記の数式の構文では、特定の日付における誰かの年齢を見つける方法についてすでに説明しました。たとえば、以下の DATEDIF 式は、特定の日付における人の年齢を計算します。
=DATEDIF(生年月日,特定の日付,'Y')
必要に応じて単位引数を変更できます。上記の数式では、通常、両方の日付のセル参照を指定でき、結果が宛先セルに表示されます。
同じ式を使用して特定の日付の年齢を計算するもう 1 つの一般的な方法は、式に目的の日付を直接指定することです。たとえば、セル B2 に誰かの生年月日 (1995/05/30) があり、その人の 2021/01/01 の年齢を知りたいとします。したがって、次のように DATEDIF 関数を DATE 関数と組み合わせて使用できます。
=DATEDIF(B2,DATE(2021,1,1),'Y')
上の画像では、DATE 関数を使用して DATEDIF 関数で特定の日付を直接指定していますが、D.O.B には B2 参照が使用されています。
これとは別に、特定の日付の人物の日付を年、月、日で検索する必要がある場合は、上で説明したのと同じ DATEDIF の概念を使用して、3 つの DATEDIF 関数を組み合わせることができます。ただし、2 番目の引数の TODAY() 関数を希望の日付に置き換える必要があります。
したがって、人の生年月日がセル B2 にあり、2021 年 1 月 1 日時点の年齢を計算する必要がある場合は、次の式を使用します。
=IF(DATEDIF(B2, '2021/1/1','Y')=0,'',DATEDIF(B2, '2021/1/1','Y')&' 年, ')& IF( DATEDIF(B2, '2021/1/1','YM')=0,'',DATEDIF(B2, '2021/1/1','YM')&' 月, ')& IF(DATEDIF(B2) , '2021/1/1','MD')=0,'',DATEDIF(B2, '2021/1/1','MD')&' 日')
性能試験
数式に特定の日付を入れる代わりに、特定の日付のセル参照を使用して、数式を理解しやすくすることができます。その人の生年月日がセル B2 にあり、年齢を計算する特定の日付がセル C2 にあるとすると、柔軟な年齢の式は次のようになります。
=IF(DATEDIF(B2, C2,'Y')=0,'',DATEDIF(B2, C2,'Y')&' 年, ')& IF(DATEDIF(B2, C2,'YM')=0 ,'',DATEDIF(B2, C2,'YM')&' 月, ')& IF(DATEDIF(B2, C2,'MD')=0,'',DATEDIF(B2, C2,'MD')& ' 日々')