• 締切済み

エクセルで誕生日の計算をしたいのですが教えて下さい。

エクセル2000を使用しています。 誕生日の一覧表があります。 S.50.5.24 のような形式です。 その人たちの年齢を算出したいのです。 ある団体の来期の予定を立てているのですが、期間の始まりが今年の7月からで 終わりが来年の6月末までとなっています。 その期間中にそれぞれの月に誕生日を迎える方の年齢を出したいのです。 もちろんそれを見越した上で今の時点で予め出したいのです。 例えば平成2年6月7日生まれの方ならば実際に今日現在では16才ですが 平成20年6月の時点では「18才」ですから答えは18と導きたいのです。 あくまでも来期の期間中に無事に誕生日を迎えるという前提での計算です。 どのようにすればよいのでしょう?

みんなの回答

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.8

>数値に合致すればその方のみ年齢の出したセルの右隣に記号が表示されるようにしたい =IF(OR(C2=60,C2=70),"●","")

noname#79209
noname#79209
回答No.7

月の末日を取得する関数の部分だけ... =EOMONTH(A1,0) でA1の日付(何日でも可)の最終日が取得できます。 ただし、 1.A1の値が日付データ(シリアル値)であること 2.「ツール」-「アドイン」で「分析ツール」にチェックがついていること が必要です。 例えばA1に「2007/5/4」のシリアル値が入っていれば、「2007/5/31」が返されます。 また、「2007/2/5」なら「2007/2/28」、「2004/2/5」なら「2004/2/29」と閏年にも対応します。 ちなみに、=EOMONTH(A1,1)で翌月末日、=EOMONTH(A1,-1)で前月末日と、 第二引数の値で取得する月を指定することも出来ます。

joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.6

一覧表の使い方により関数が変わってきます。今年の7月からの年齢表示でよいのか、7月までの準備として一覧表を年齢表示させて印刷しておきたいとか。。。 前者の場合は「今日」の日付を基準日にします。※誕生日がA1セルに入力されているとします。  誕生日で年齢を加算  =DATEDIF(DATEVALUE(SUBSTITUTE(A1,".","",1)),TODAY(),"Y")  誕生月で年齢を加算  =DATEDIF(DATEVALUE(SUBSTITUTE(A1,".","",1)),EOMONTH(TODAY(),0),"Y") 誕生日を今日の日付などに変更して検証してみてください。また、計算が正しくないときは、PCの日付を確認してください。 後者の場合は、基準日セルを設けて「TODAY()」「EOMONTH(TODAY(),0)」を基準日セルに変更してください。 「S.50.5.24」の最初の「.」を消して日付認識させています。DATEDIF関数については、#5さんが紹介している参考URLをご覧になってください。

joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆下のURLを参考にしてください

参考URL:
http://www.microsoft.com/japan/users/office_expert/200304/01.asp
joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.4

こんにちは。 誕生日についてですが、 行政等での誕生日の扱いは、一般の概念と少し異なります。 「誕生日の前日にある年齢が満了するということに留意する必要があります。(民法143条)」 つまり、誕生日の前日に1歳加算するものです。 行政等と無関係なら、基準月日を迎えた時に1歳加算する方式でも良いと考えられます。(慣例) 年齢を利用する組織等でも異なります。 退職金関連等で金融機関へ提示する場合は、上記のルールでした。 社内人事等の場合、慣例に従い、誕生日当日加算することでOKでした。 一度、ご確認を!! 私はこれで失敗しました。 余計なことであれば、無視してください。

joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

  • 245689731
  • ベストアンサー率22% (76/341)
回答No.3

誕生日が入力されているのがA1として   =DATEDIF(A1,DATE(2008,6,30),"Y")   セルの書式設定をG/標準"歳"とすれば18歳と表示も出来ます。

noname#65286
noname#65286
回答No.2

誕生日のデータ書式が日付になっている場合は下記の様にして計算することができます。 誕生日データをセルB2、基準日データをセルC1とした場合 =DATEDIF(B2,C1,"y") で計算できます。 基準日データを平成20年6月末にするにはセルC1を 2008/6/30 とします。 日付の書式は元号、西暦混在でも計算できます。

joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

joy9999
質問者

補足

御礼を書いた後に気が付いてしまったので補足からの質問お許し下さい。 今後の事を踏まえればmyu_nyanさんのやり方が一番私には合ってると 思うのですが、例えばその導き出した誕生日が60、70、等々決められた 数値に合致すればその方のみ年齢の出したセルの右隣に記号が表示される ようにしたいのですが、どうすればよいのでしょう?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A1に期間のFrom 「2007/7/1」と手入力 B1に 「=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)-1)」として終了日を計算 A3に氏名、B3に誕生日として C3に「=IF($B3="","",DATEDIF($B3,$B$1,"y"))」として年齢を表示 C3の式を下方に必要分コピーする

joy9999
質問者

お礼

御礼が大変遅くなりました事をお詫び致します。 皆様の回答を参考に上手くいきました。 有難うございました。

関連するQ&A