• ベストアンサー

Excel 誕生日までの日数を表示したい

たとえば、A1に誕生年月日が入力されていて、B1にTODAY()関数を使って誕生日まであと何日かを表示させる場合どうすればよいでしょうか? ほかに簡単にできる場合はそちらもご紹介ください。

質問者が選んだベストアンサー

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

今年の誕生日が過ぎている場合、翌年の誕生日までの日数カウントなら B1=DATE(YEAR(TODAY())+(TEXT(A1,"MMDD")<TEXT(TODAY(),"MMDD")),MONTH(A1),DAY(A1))-TODAY() 今年の誕生日が過ぎている場合、マイナス表示でいいなら B1=A1-TODAY() ※書式が勝手に日付形式になるので標準に再設定してください。

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

関数での話だと思うが A1 1949/9/1 とする B1 =today() 2009/9/18 C1に =IF(ISERROR(DATEDIF(B1,DATE(YEAR(B1),MONTH(A1),DAY(A1)),"YD")),DATEDIF(B1,DATE(YEAR(B1)+1,MONTH(A1),DAY(A1)),"YD"),DATEDIF(B1,DATE(YEAR(B1),MONTH(A1),DAY(A1)),"YD")) エラー#NUM!(日付が逆順、引き算してマイナス)になると年に+1してDateDif関数で、年月で切り捨てられた日数(1年未満の日数=YD)求めている。式は長いが、年を最近にしてDATEDIFを使っている。月日だけの前後判別は関数でややこしいのでISERROR関数を使って月日が誕生日の月日を超えているか場合分けしている。 DATEDIF関数の解説を見ること。 DATEDIF関数は世界の人がチェック済みなので、使ってアンシンなので使った。 例A1:C1 1949/9/11   2009/9/18   358 >ほかに簡単にできる場合はそちらもご紹介ください どういうことを言っているのか判らない。 エクセル関数が最適で、メニュー操作などでは出来ない。 VBAでは出来るが、プログラムの組み方によっては簡単でもない。

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんにちは! 色々回答が出ていますので、 重複するかもしれませんが・・・ ↓の画像のB2セルに =IF(A2="","",IF(DATE(2009,MONTH(A2),DAY(A2))<TODAY(),DATE(2010,MONTH(A2),DAY(A2))-TODAY(),DATE(2009,MONTH(A2),DAY(A2))-TODAY())) という数式を入れて、オートフィルで下へコピーすると 画像のような感じになります。 尚、誕生日が今日の場合は「0」と表示するようにしています。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。

  • umach
  • ベストアンサー率35% (600/1691)
回答No.4

B1:today() C1:本年の誕生日 D1:来年の誕生日 =date(year(b1)+1,month(a1),day(a1)) 求める日数:=if(b1<c1,c1-b1,d1-b1) シリアル値の引き算で日数が出ます。 日数を求める場合は、datedif関数の"d"指定は煩雑です。

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

簡単なようで複雑な式になってしまいました。 =IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))>=TODAY(),DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))-TODAY(),DATE(YEAR(TODAY())+1,MONTH(A1),DAY(A1))-TODAY())

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

Datedif関数を調べてみてください。 year、Month、Day関数も調べてみてください。 そのうえで todayの月日と誕生日の月日を判断して次回誕生日の年を決める(1たすかどうか) その年月日とTodayをDartedif関数で何日あるか調べる。 考えてみてやってみてわからなかったらままた書いてください。 お答えを書きます。 (でも自分でやってみてください

mailtruck777
質問者

お礼

どうもありがとうございました。 返事が遅くなってすみませんでした。