- ベストアンサー
EXCELで誕生日計算をしたいのですが
サークルのメンバー管理で、子供の現在の年齢を自動計算する設定はできますでしょうか。 表に生年月日、枠上等にTODAY関数を入れて表をあけたその日現在の年齢が表示されるようにしたいのですが・・。 DATEIF関数を使ってみたのですが、年度で見るようで、「今年の年齢(誕生日がまだでも年齢が繰り上がる)」が表示されるようになってしまいました。 お知恵を拝借できればと思います。宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A1に名前、B1に誕生日、C1に年齢だとして、 C1セルに =DATEDIF(B1,TODAY(),"Y") でうまくいきませんか?
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
>DATEIF関数を使ってみたのですが DATEIF関数はエクセルにありません。だからDATEDIF関数を使われたと思いますが、第3引数まであって、その第3引数に何を入れましたか。「単位」として、本には解説されますが、Y,M,D,MD,YM,YDなどあり、”Y"のように””で囲むこと。Yは満年齢で年に満たない端数は切り捨てです。 本日は=today()で2003/1/11です。 B列に式=DATEDIF(A3,TODAY(),"Y")をいれて、複写する。 (A列) (B列) 2003/1/9 1 2003/1/10 1 2003/1/11 1 2003/1/12 0 2002/1/9 2 2002/1/10 2 2002/1/11 2 2002/1/12 1 2002/1/13 1 上記のようになりましたが、このような年齢の計算で不都合ですか。 DIFはDIFFERENCE(意味は差)の頭3文字に由来します。「もしも」のIFではありません。
- fiva205c
- ベストアンサー率43% (234/533)
- kazh
- ベストアンサー率31% (10/32)
datedif関数を使えばできると思います。 書式 =DATEDIF(開始日,終了日,単位) です。生年月日があるセルを開始日にして、today関数があるセルを終了日に設定し、単位を"Y"とすれば年齢計算ができます。 例:セルA1に=TODAY()関数があり、B2から下に生年月日が入力されているとします。 C2に=DATEDIF(B2,$A$1,"Y")と入力しリターンするとB2に入力してある人の年齢が計算されます。以降はこのセルをコピーすればできあがり。 こんなもので、どうでしょうか?
お礼
短い間にたくさんのご回答ありがとうございました。 タイプミスで誤解を与えてしまいましたが、DATEIFではなくDATEDIF関数を使用していたのですが、難しく考えすぎてIFを使ったり(表示を○歳としたかったため)他のセルにいったんTODAYを設定したりととあれこれやっていてかえって訳がわからなくなってしまっていました。 =DATEDIF(B1,TODAY(),"Y") とセルの表示設定「歳」でなんとかなりそうです。 ありがとうございました。 ポイントは頂いたアドバイスの早い順につけさせていただくことをご了承ください。