2016年4月18日月曜日

【Googleスプレッドシートで年齢を計算】

Excelには、日付の差を計算する DATEDIF関数 があります。例えば、A2セルに入力された生年月日の方の現在の年齢を計算したい場合は、DATEDIF関数に3つのパラメータを渡して計算します。例えば、A2セルに入力された生年月日の人の現在の年齢を計算する場合は以下のようにします。

=DATEDIF(A2, TODAY(), "y")

①生年月日を入力したセル
②今日の日付
③"y"を指定すれば年表示



2016/04/18に実行した結果は以下の通りです。誕生日が前日、当日、翌日の3通り全てで年齢が正しく計算されています。




一方、Googleスプレッドシートには DATEDIF関数 がないため、同じやり方だとエラーになります。そこで、TEXT関数 を使って今日と生年月日との差を年表示します。

=TEXT(TODAY()-A2, "YY")

①今日(TODAY())と生年月日の差
②"YY"を指定すれば年表示



上記の例では、一見、ちゃんと計算できているようにみえます。しかしながら、下記の例では、誕生日が当日(2000/04/18生まれ)の計算が EXCEL の DATEDIF関数 の結果とは異なります。


そこで、年齢を計算する場合は「今日」ではなく「翌日」と生年月日の差を計算した方がよさそうです。

=TEXT(TODAY()+1-A3, "YY")

①翌日(TODAY()+1)と生年月日の差
②"YY"を指定すれば年表示



ではでは。


0 件のコメント:

コメントを投稿