Excelで名簿を作る際に、年齢などの毎年更新しなければならない情報を含めることがあります。これを毎年、自分の手で更新するのは大変です。
しかし、Excelにはこの大変な作業を自動かつ一瞬で行うようにしてくれる関数があります。それがDATEDIF関数とTODAY関数の二つです。今回はこの2つの関数を組み合わせた、年齢を自動で計算する名簿の作り方を紹介します。
DATEDIF関数とTODAY関数とは
まず、2つの関数そのものについての説明をします。
DATEDIF関数は、ユーザーが定めた始まりの日付から終わりの日付までの日数を、指定した単位で表示する関数です。関数の引数は以下のようになります。
=DATEDIF(始まりの日付,終わりの日付,”単位”)
単位の部分には、年数を指定する”y”、月数を表す”m”、日数を表す”d”のどれかが入ります。
DATEIFではなく、DATEDIFであることに注意するんだぞ。
TODAY関数とは、入力するとその日の日付が表示される文字通りの関数です。
厳密には、使用しているPCの時計の現在時刻に基づいた日付を表示させます。入力したのに、今日とは違う日付が出てきた場合は、お使いのPCの現在時刻の設定を見直してみましょう。
年齢を自動で更新する表を作ろう
それでは、2つの関数を組み合わせて、自動で年齢を更新する表を実際に作ってみましょう。
まず、DATEDIF関数における始まりの日付に指定するために、表の中に誕生日を記す列を作っておきましょう。ここでは、B列に「誕生日」を入力し、C列に「年齢」を入力します。
年齢のセルに関数を入力します。まずは「=DATEDIF(」まで入力しましょう。
次に始まりの日付を指定するために、誕生日が入力されているセル、ここではB2のセルをマウスでクリックすると、自動でセル番号のB2が入力されます。これでB2セルに記されている誕生日を入力したことになります。B2の後には「,」(カンマ)を入力することを忘れないようにしましょう。
カンマの次に終わりの日付を入力します。ここでTODAY関数を入力します。
「=DATEDIF(B2,TODAY(),」と入力することで、セルに書かれている誕生日を始まりの日付に、PCに記録されている今日の日付を終わりの日付けに指定したことになります。
TODAYのあとは()と何も挟んでいませんが、これは引数を入力するための()に何も入力する必要がないので、()の中には何も書かないようにしています。
最後に「=DATEDIF(B2,TODAY(),”y”)」と単位を指定します。年数を表示するように「“y”」(year)と入力します。
単位は必ず「”y”」と「”」(クオーテーション)で挟むようにするんだぞ。そうしないと、エラーが出て関数が成立しないぞ。
「=DATEDIF(B2,TODAY(),”y”)」と最後にカッコで閉じることを忘れないようにしましょう。入力ができたら、EnterキーかTABキーを押して入力を確定させます。
すると誕生日から今日(執筆時2020年7月)までの日数、年齢が自動でセルに入力されます。TODAY関数を用いることで、誕生日を迎えた場合に自動で年齢が加算されるようになります。
オートフィルで数式をコピーすれば、大量の人数を名簿にするときも楽になります。始まりの日付をセル番号で入力するのは、オートフィルでコピーする際にセル番号が自動でそのセルに対応した番号になるからです。
オートフィルって何? という方はこちらの記事を参考にしてください。