エクセル2003で日付を計算する方法

このQ&Aのポイント
  • エクセル2003を使用して日付を計算する方法についてご質問です。特に、指定した日付から3ヶ月後の日付を求める方法についてお伺いします。
  • 現在、エクセル2003のセルV34に日付が入力されており、この日付から3ヶ月後の日付を別のセル(I122)に表示させています。しかし、以下の条件に従って日付を計算したいと考えています。
  • V34に入力された日の値が1~15の場合には、翌々月の最終日を表示させたいです。一方、V34の日の値が16以降の場合には、3ヶ月後の最終日を表示させたいです。このような計算方法を実現するにはどうすれば良いでしょうか?お知恵をお貸しください。
回答を見る
  • ベストアンサー

エクセル2003 関数で日付を計算

エクセル2003を使用しています。 関数で不可能なら、簡単なマクロもOKです。 V34に日付が入力されています。 このセルの内容は時々手入力で変更されます。 3ヶ月後の日付を別のセル(I122)に以下の様な関数で求めています。 =IF(V34="","",EDATE(V34,3)) この3ヶ月後の計算を以下の様に変更したいのですが、どうしたら良いのでしょうか? V34の日の値が1~15の場合には、翌々月の最終日を表示。 (例:V34がH20/6/12の場合、H20/8/31が表示される。) V34の日の値が16以降の場合には、3ヶ月後の最終日を表示。 (例:V34がH20/6/16の場合、H20/9/30が表示される。) ご教示の程、よろしくお願い致します。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

=IF(DAY(V34)<=15,EOMONTH(V34,2),EOMONTH(V34,3))

88suihou88
質問者

お礼

=IF(V34="","",IF(DAY(V34)<=15,EOMONTH(V34,2),EOMONTH(V34,3))) 有難うございました。 V34が空欄でも対応出来る様、上記の様にしました。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

次の方法は如何でしょうか。 =IF(V34<>"",IF(DAY(V34)<=15,DATE(YEAR(V34),MONTH(V34)+3,0),DATE(YEAR(V34),MONTH(V34)+4,0)),"")

noname#176215
noname#176215
回答No.3

=IF(V34="","",EOMONTH(V34-15,3)) でいいでしょ。多分。

noname#140971
noname#140971
回答No.2

H20.6.12___H20.8.31 <--- =GetDate(A1, 2+ABS(DAY(A1)>15), 99) H20.6.16___H20.9.30 <--- =GetDate(A1, 2+ABS(DAY(A1)>15), 99) =EOMONTH(A1,2+ABS(DAY(A1)>15)) でもOK! Public Function GetDate(ByVal Now As Date, _             ByVal Move As Integer, _             ByVal Hiduke As Integer) As Date                GetDate = DateSerial(DatePart("yyyy", Now), _              DatePart("m", Now) + Move - (Hiduke = 99), _              Hiduke * Abs(Hiduke <> 99)) End Function エクセルは一度も操作したことがありません。 でも、エクセルの関数を使う場合も同じ手法だと推察します。 [イミディエイト] ? GetDate("2008/6/12", 2, 99) 2008/08/31 ? GetDate("2008/6/12", 3, 99) 2008/09/30 ? GetDate("2008/6/12", 2, 1) 2008/08/01 ? GetDate("2008/6/12", 3, 1) 2008/09/01 要は、月を2加算するのか2+1加算するのかだと思います。 [イミディエイト] ? ABS(DAY("2008/6/12")>15) 0 ? ABS(DAY("2008/6/16")>15) 1

関連するQ&A

  • Excel2007 日付関数について教えて下さい。

    A1に例えば「2012/5/22」と入力すると B2に翌々月10日の日付を入力するため 関数「=DATE(YEAR(A1),MONTH(A1)+2,10)」 と関数を入れました。 A1に日付が入れば翌々月10日の日付を返してくれるのですが A1が空白だと「1900/3/10」の値を返してきます。 日付が入っているとややこしいので消すもしくは日付じゃない値を返すことは出来ないでしょうか よろしくお願いします。

  • Excelで日付を来年の2013年にしたい

    Excel2010を使って来年の小遣い帳を作っています。 日付欄に「1/1」と入力したら「1日」と表示するようにユーザー設定をしています。 しかし、この場合のセルの値は「2012/1/1」になります。 来年用なので「1/1」と入力するだけで「2013/1/1」の値になるようにできないでしょうか? 最初のセルだけ「2013/1/1」と入力して「1日」と表示させるのですが、それ以降も「2013」を覚えさすことはできないでしょうか? 隣のセルに「=WEEKDAY()」関数で曜日を入力しているので「2013年」の値が必要なのです。 日付が続き番号ならオートフィルでコピーするのですが任意の日付入力です。 本当は「1」と入力したら「1日」、「5」と入力したら「5日」と表示させたいのですが・・・。(2013年の) どうしても毎回「2013/*/*」と入力しないとダメでしょうか? 宜しくお願いします。

  • エクセルの関数

    =edate(datevalue(2005/12/10),1)の関数を使ったら#name?と表示されます 2005/12/10の1ヶ月後の日付を関数で計算したいのですが・・・

  • エクセルのIF関数について

    =IF(L2="","EDATE(J2,K2)","EDATE(L2,K2)") という数式で L2が空白の場合、J2の日付からK2の月分だけ経過した日付を表示。 空白でない場合、L2の日付からK2の月分だけ経過した日付を表示したいのですが、 セルには直接『EDATE(J2,K2)』という数式が表示されてしまいます。 空白にしたら『EDATE(J2,K2)』、日付を入れたら『EDATE(L2,K2)』になるので一応IF関数は生きてると思うのですが、中で計算をしてくれていません。 解決方法をぜひご教授くださいませんか。

  • エクセル関数で、入力した日付から、○ヶ月または○年後の日にちを求めたい。

    あるセルに日付を入力して、 (1)その日から1ヵ月後の日付を求める (2)誕生日から30歳になる年月日を求める はきっと同じ種類の関数だと思うのですが、どのように求めたらよいでしょうか? また、 (1)の場合で、 (1)-1 1月の後半の日付を入力した場合⇒正確に1ヵ月後を求める (1)-2 1月の前半の日付を入力した場合⇒翌月の1日の日を表示したい なんてことは可能なのでしょうか・・・・・ よろしくお願いいたします。

  • エクセル 日付の表示

    あるセルに日付を入力した際、その隣のセルのその入力月の月初日が表示されるようにしたいのですが、どのような関数を使えばよろしいでしょうか?よろしくご指導願います。 例. A1に2009/3/31と入力すると、B1には2009/3/01と表示

  • エクセル関数 日付によって表示変更

    エクセル関数 日付によって表示変更 A1のセルに日付を入力する場合1日から15日まではB、15日以降はCとA2のセルに表示するためにはどうすればよいでしょうか? もちろん月は変更します。 宜しくお願いいたします。

  • エクセルの関数で。

    毎月の請求書をエクセルでしているのですが 今まで使えていた関数が突然使えなくなってしまい困惑しています。 PCをWin98からXPに買い換えました。 エクセルは2000です。 日付関数なのですが 2005/12/20を入力すれば前月残高欄に11/20と表示させてました。 2005/12/20がN3セルだとすれば「EDATE(N3,-1)」です。 エラー表示は#NAME?です。 今月が2006/1/20なので「1-1?」とでも勘違いしたのかなと思い、違う数字2006/2/20も入れたのですがダメでした。 ど~なっちゃったんでしょうか?

  • 日付関数でご教示ください。

    エクセルで、どんな日付を入れても、その横のセルにその年の12月31日を表示するような関数はあるのでしょうか。 例えば セルA1に、H21.3/14 ならB1に、H21.12.31 セルA2に、H18.6/20 ならB2に、H18.12.31 というような表示にする関数です。 どなたか、よろしく、お願いいたします。

  • エクセル できそうで出来ないIF関数

    エクセル初心者につきご教授をお願い致します。 キーとなる日付(必ず月末日)を入力すると、別集計した集計表上の一致する日付(必ず月末日)で求めた値が、計算式を入れたセルに答えとして表示される…と言う事をしたいのですが。。 F7…キーとなる月末日(例…2009/4/30) G13…集計表上の一致する月末日(例…2009/4/30) H13…G13の条件で求めた値 上記の条件で任意のセルへ「=IF(F7=G13,H13)」と計算式を入力したらH13の値が表示されました…OK。 引き続き同条件でG14~の条件で求めた、H14~の値を、F7の日付を入れる事で求めたいのですが、どのようにしたら良いのかわかりません。 どうかご教授をお願い致します。

専門家に質問してみよう