• 締切済み

エクセルで年齢自動入力をしたい

どなたか教えてください。 履歴書などで年齢を生年月日と入力日から自動入力するようにしたいのですが簡単にできるでしょうか。 EDATEを使うのでしょうか? たとえばA1にtodayを設定して生年月日の欄から自動的に 年齢を計算するようにしたいです。 today関数とnow関数の違いもよくわかりません。

  • 9821
  • お礼率40% (22/54)

みんなの回答

noname#9284
noname#9284
回答No.4

補足を読ませていただきました。 > セルをまとめてにTODAYをいれてみたら「#NUM!」と表示されてしまいました。 「#NUM!」は数式または関数の数値に問題がある場合に返されます。 次の事を試してみてください。 ☆一つのセルに「=TODAY()」と入力してEnterを押す。 引数は必要ありません。 このセルをどこかの数式で参照されたのですね? できればその数式を教えていただけないでしょうか。 > =IF(A1="","",DATEDIF(A1,TODAY(),"y")&"歳"&TEXT(DATEDIF(A1,TODAY (),"ym"),"0ヶ月")&TEXT(DATEDIF(A1,TODAY(),"md"),"0日")) A11 > 式の意味がよくわかりません。 すみません、コピーミスのようで =IF(A1="","",DATEDIF(A1,TODAY(),"y")&"歳"&TEXT(DATEDIF(A1,TODAY(),"ym"),"0ヶ月")&TEXT(DATEDIF(A1,TODAY(),"md"),"0日")) これが正しく、最後の「A11」はミスでした。 「#VALUE!」が戻ってしまったのではないでしょうか? もし生年月日が入力されているA1が空白なら空白を返します。 そうでなかったらDATEIFで"年数"だけを出します。 "歳"と次の式の戻り値をつなげます。 DATEDIFで"年"を引いた残りの端数の"月数"を出します。 "ヶ月"と次の式の戻り値をつなげます。 DATEDIFで月数を引いた残りの端数の"日数"を出します。 "日"をつなげます。 "0ヶ月"、"0日"とした理由は、例えば20歳の誕生日には 「20歳0ヶ月0日」のように表示されますので。 "歳"のところだけは"0歳"としなくても 一年未満の赤ちゃんの場合でも「0歳2ヶ月1日」のように戻ってくれます。 これについては説明ができません。 > 「歳」というのはセルの表示形式で「n歳」のように することはできないでしょうか? つまり「年数」だけ戻るようにすればいいわけなので http://www.miyazaki-cci.or.jp/nichinan/pc/case12.html のように =IF(A1="","",DATEDIF(A1,TODAY(),"y")) とすればいいわけです。 セルの書式設定でユーザー定義に「0"歳"」と入力してください。 更にわからない箇所がありましたら補足をお願いいたします。

noname#9284
noname#9284
回答No.3

> today関数とnow関数の違いもよくわかりません。 忘れていました。 =TODAY() では 2004/3/19 が表示されます。今日の日付です。 =NOW()では 2004/3/19 20:59  が表示されます。何時何分まで含みます。 しかしセルの表示形式を日付に変更すれば 2004/3/19 しか表示されません。 この2つは自動再計算関数です。このファイルを開き、何も変更を加えなくても「変更を保存しますか?」と聞かれますよ。 で、どこかのセルに何かを入力するたびに=TODAY()  =NOW() が計算しなおされるので、 これらの数式を大量に使うと、どこかに入力するたびに膨大な量の再計算が行われ、パフォーマンスが低下します。 (ファイルの動作が重くなります) ですから先の回答のように、数式の中でTODAY()を多用しないように 一つのセルだけで計算させ、各数式でそのセルを見に行くようにしたのです。 分かりにくければまたご質問くださいね。

9821
質問者

お礼

回答ありがとうございます。 まとめてレスさせて頂きます。 名簿を作ろうとしていたわけではないのですが試しに複数 入力してみました。全部の行にtodayを入れるのもたいへんなので、セルをまとめてにTODAYをいれてみたら「#NUM!」と表示されてしまいました。この方法はダメみたいですね。 せっかく長い式を教えていただいたのですが =IF(A1="","",DATEDIF(A1,TODAY(),"y")&"歳"&TEXT(DATEDIF(A1,TODAY(),"ym"),"0ヶ月")&TEXT(DATEDIF(A1,TODAY(),"md"),"0日")) A11 式の意味がよくわかりません。 「歳」というのはセルの表示形式で「n歳」のように することはできないでしょうか?

noname#9284
noname#9284
回答No.2

A1に生年月日が入力されているとしますと 数式は =IF(A1="","",DATEDIF(A1,TODAY(),"y")&"歳"&TEXT(DATEDIF(A1,TODAY(),"ym"),"0ヶ月")&TEXT(DATEDIF(A1,TODAY(),"md"),"0日")) で、○歳○ヶ月○日となります。 人数が多いようでしたらB1に=TODAY()を入力しておいて =IF(A1="","",DATEDIF(A1,$B$1,"y")&"歳"&TEXT(DATEDIF(A1,$B$1,"ym"),"0ヶ月")&TEXT(DATEDIF(A1,$B$1,"md"),"0日")) という数式にしてください。 なお、○歳だけで宜しければ http://www.miyazaki-cci.or.jp/nichinan/pc/case12.html ここなど参考になると思います。 なおDATEDIF 関数は、[関数のウィザード] および [関数の挿入] ダイアログ ボックスには表示されません。

参考URL:
http://www.miyazaki-cci.or.jp/nichinan/pc/case12.html
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

=DATEDIF(A1,TODAY(),"Y") のように入れてみてください。

9821
質問者

お礼

早速のレスありがとうございました。

関連するQ&A

  • Excelの年齢計算について教えて

    生年月日の入力したExcelシートでそのセルを「A1」とすると、下記の(1)や(2)では上手く計算できませんが、どのように計算すればいいのでしょうか? だれか、教えてください。 (1)+today()-A1 (2)+now()-A1

  • Filemakerの年齢の自動入力について

    お世話になります。現在、いまだにFilemakerPro7を使用していますが、結構な素人です。データベースを作っているのですが、作成日と、生年月日から自動で年齢が計算される方法はいくつかの、質問を見て分かりました。現在はTruncate((作成年月日- 生年月日)/365.25; 0)を「入力値の自動化」の「計算値」の所にいれています。しかし、生年月日のフィールドが書いていない状態、つまり空白になっている状態では、年齢のフィールドも空白になってほしいのですが、なぜかわからないのですが、平成25年1月4日の現在、2011と出てきてしまいます。通常の生年月日を入れると合っているので、この2011自体の意味はいいのですが、生年月日が空白であれば、年齢欄も空白にする方法はないでしょうか?なんか簡単にできそうなのですが、わかりません。よろしくお願いします。

  • EXCELで年令計算するDATEDIF関数

    EXCELで年令計算する関数DATEDIFを使って、生年月日の記入をすると年令を表示しますが、 記入がないと 111才 になってしまいます。生年月日の記入がないときには 0才 にしたいのですが、わかりません。   たとえば、生年月日のセルを         B12         基準日(関数TODAY()を使用 )を E3         年令表示セルを           B11 にして、セルB11に次の関数を入力します。     =DATEDIF(B12,E3,"Y") & "才" すると、生年月日がセルB12に入っていれば、年令を表示しますが、生年月日の記入がない(空欄)と111才と表示されてしまいます。空欄では0才などにしたいのですが、ご教示をお願いします。 セルの西暦・和暦やTODAY関数が影響するのかわかりません。

  • Excelで簡単に現在時刻を入力するには

    Excelでセル内に現在時刻を入力する方法で質問です。 NOW関数では現在の年月日と時刻、TODAY関数では年月日が入力できますが、 時刻だけを簡単に入力する方法はないでしょうか。

  • エクセル関数の行番号を自動でわり振る方法

    エクセルはそこそこ使ってたんですが、関数に関してはまったくの初心者です。 生年月日から年齢を自動計算する方法はネットで調べてなんとかわかりました。 しかし、 =DATEDIF(A1,TODAY(),"Y")&"歳" という式(?)の「A1」の1、つまり、行の番号を自動でわり振る方法がわからず手詰まりになってしまいました。 現在は1つ1つ行番号を修正しているような状態です。 お手数ですが、ご存知の方、教えていただけないでしょうか。 それと、生年月日は1969/6/2のように入力しているのですが、どうも年齢が3桁になると「#VALUE!」と表示されてしまうようです。 こちらもご存知でしたらよろしくお願いします。

  • エクセルで年齢計算したいんですが、教えてください。

    エクセルで作業をしています。 年齢計算を関数を使ってやりたいんですが、わかりません。誕生日などの日にちをシリアル値にしてから計算したいんですが、どんな関数がありますか?どなたか教えてくださいませ。 生年月日を入力し、2008.10.1現在の満年齢を計算する関数です。いい方法ありますでしょうか?

  • エクセルで生年月日から現在の年齢を計算する関数はないですか?

    エクセル95か2000でかまわないのですが、生年月日から現在の年齢を自動的に計算する関数は何かないでしょうか? たとえば、あるセルに生年月日を入力しておきます。行に2002年10月、11月、12月・・・と入力しておき、それぞれ2002年10月、11月、12月の年齢が、生年月日から計算されて参照されるような関数です。

  • EXCEL エクセル 年齢 DATEDIF関数 空白の場合

    EXCEL2007 年齢を計算するのに A1セルに 生年月日を入力、 B1セルに年齢  =DATEDIF(A1,TODAY(),"y")で  満年齢がでると思うのですが A1セルが空白の場合 109となります。 A1セルが空白の場合 B1セルも空白になる関数を教えてください。 本を見ながらの初心者です。よろしくお願いします。

  • エクセルでの年齢自動計算時の表示方法

    すみません、教えてください。 エクセルで年齢を自動計算させているのですが、生年月日を未入力の欄の表示を空白か0にしたいのですが、どうしてもできません。 別途、データを添付していますので、おわかりになられる方がおられましたらご教授下さい。 宜しくお願いします。

  • エクセルで、生年月日からの年齢計算

    お世話になります。 タイトルの通り、エクセルで生年月日から年齢計算なのですが、下記のような生年月日の入力形態からでも、年齢計算できますか? 11/14/2013 調べたのですが、見つけたのは「平成25年11月14日」などと誕生日の欄に入力してあり どうも上手く当てはまりませんでした。 よろしくお願いいたします。

専門家に質問してみよう