(Gスプレッドシート)生年月日から満年齢を求める

 Googleスプレッドシートで満年齢を求める、つまりある日からある日までの間に満何年が経過しているのかを求める方法についてです。
 各種の表計算ソフトと同様に、便利な関数が用意されています。

  • DATEDIF関数で満年齢を求めることができます。

手順

f:id:accs2014:20190630144243p:plain:right:w450

 B列に生年月日として1981/5/31~1981/6/2までの日付が並んでいます。
 これらの生年月日に生まれた人が、2019/6/1時点で満何歳なのかを求めるものとします。

 B3セルに次のような式を入力し、下方にフィルコピーします。

=DATEDIF(B3,"2019/6/1","Y")

 DATEDIF関数は2つの日付の間の経過期間(日、週、月など)を求める関数です。
 1つ目と2つ目の引数によって2つの日付を指定します。ここで、2つ目の日付の方が新しい日付(または1つ目の日付と同じ日付)である必要があります。
 そして3つ目の引数ですが、満年齢を求める際には「"Y"」と指定します。
 

f:id:accs2014:20190630144247p:plain:right:w450

 フィルコピー後の結果はこのようになります。
 2019/6/1時点では5/31生まれの人と6/1生まれの人が38回目の誕生日を迎えていますので満38歳、つまり値は38となります。
 6/2生まれの人はまだ誕生日を迎えていませんので満37歳、つまり値は37となります。

f:id:accs2014:20190630144252p:plain:right:w450

 別の例になりますが、今日(スプレッドシートを表示している、まさにその日)の満年齢を求めることもできます。
 上記の例と同様にB列に生年月日が並んでいます(日付が異なりますので注意してください)。
 これらの生年月日に生まれた人が、「今日」の時点で満何歳なのかを求めるものとします。
 

 B3セルに次のような式を入力し、下方にフィルコピーします。

=DATEDIF(B3,TODAY(),"Y")

 TODAY関数(引数は何も指定せず、ただカッコだけにします)によりシステムの日付を得ることができます。よって常に「今日」の満年齢が求まります。
 

f:id:accs2014:20190630144255p:plain:right:w450

 実行結果です(実行日は2019/6/30)。
 6/29生まれの人と6/30日生まれの人は38回目の誕生日を迎えていますので38となり、7/1生まれの人はまだですので37となります。
 式は随時再計算されますので、7/1にこのシートを開くと、値はいずれも38となります。