• ベストアンサー

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

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/17068)
回答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
質問者

お礼

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

関連するQ&A

  • エクセル関数で誕生日までの残りの日数を表示する方法は?

    エクセル関数で「=date()」で当日の年月日を表示できますが、次の誕生日までの残りの日数を自動表示させるには、どうしたらいいでしょうか?例えば、誕生日が2008年の6月14日だとして、教えていただければ幸いです。よろしくお願いいたします。

  • Excelで誕生日順に並べ替え

    A列に生年月日、B列に名前が入力されています。 C列に誕生日を抜き出し、誕生日順に並べ替えるにはどうしたらいいでしょうか?

  • EXCELで誕生日計算をしたいのですが

    サークルのメンバー管理で、子供の現在の年齢を自動計算する設定はできますでしょうか。 表に生年月日、枠上等にTODAY関数を入れて表をあけたその日現在の年齢が表示されるようにしたいのですが・・。 DATEIF関数を使ってみたのですが、年度で見るようで、「今年の年齢(誕生日がまだでも年齢が繰り上がる)」が表示されるようになってしまいました。 お知恵を拝借できればと思います。宜しくお願い致します。

  • エクセル 誕生日から年齢 表示について

    こんにちは 標題の件で、下記の数式で年齢を出しています。 =DATEDIF(@,TODAY(),"Y") 通常@部分に誕生日を入力するのですが、入力をしない場合に「105」と表示されてしまいます。 入力しない場合には、空欄にしたいのですが、どのようにしたら良いのでしょう?

  • 誕生日までの残り日数

    excelのG1からG20に生年月日を入力してあります。F列には名前が入っています。 この生年月日を元に、次の誕生日までの日数を調べる方法を教えてください。 佐藤一郎 2000/8/26  Happy Birthday 鈴木次郎 1000/8/27 1 上のように残り日数が0のとき、つまり今日が誕生日の時はHappy Birthdayと表示させたいです。 また、今日が誕生日の時は 名前、生年月日、Happy Birthdayの文字のセルを青で塗りつぶしたいと思っています。 このようなことはできるのでしょうか? どうやっていいのかわからないので、教えてほしいです。よろしくお願いします。

  • エクセルの関数についての質問です。

    DATEDIF関数を使って生年月日から年齢を求める式を作り、それにIF関数を組み合わせたいと思って試したのですが、うまくいきませんでした。何か良い方法があったら教えて下さい。 A1に生年月日を入力し、B1に、 =DATEDIF(A1,TODAY(),"Y") で年齢を求め、オートフィルで複写すると、A列に生年月日を入力していない場合、B列にある数値が 出てしまうので、A列が空白の時は、B列も空白にしたいのです。そこで =IF(A1="",B1="",DATEDIF(A1,TODAY(),"Y")) としてみたところ 循環参照 している。と言うエラーメッセージがでてしまいます。 よろしくお願いします。

  • Excelで月日数を求める

    任意の年月日を入力すると、その月の日数を求めてくれる、そんな関数って。 例えばA1に2005/2/10を入力してB1に28を求めたい。

  • 日数の計算について

    いつもお世話になっています。 セルA1に入力した年月日を開始日として セルB1に入力した年月日を最終日とします。 1.その間の日数を開始日を含んだ日数でセルC1に入力したい。 2.もしA1とB1に何も入っていない場合は何も入れない状態にしたい こんなときはどんな関数を使えばかんたんに出来るでしょうか? 説明がいまいち下手ですみません。 よろしくお願いします。

  • 誕生日まであと何日かカウントしたい。

    誕生日まであと何日かカウントしたい。 A1に生年月日 B1に今日の日付 C1に誕生日まであと何日か表示したい。 DATEDIFで算出出来ますか?宜しくお願いします。

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

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

専門家に質問してみよう