• ベストアンサー

ある日数後の月、日を計算したい

お知恵を拝借下さい。 エクセル2003を使用しています。 あるセルに日数が数値で入っています。例120 またあるセルには指定の月が入っています。 例12 その2つから、出来る限り簡素な関数を使って 指定月から、120日後の<月>をセルAに、 また、125などが入力されている場合もある為、 セルBには120日後の<日>を表示させることは可能でしょうか。 出来れば、アドイン⇒分析ツールを使わない方法で御願いします。

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

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.4

情報が曖昧だったので適当に答えてしまいました^^; エクセルの状況ですが、 年、月、日がそれぞれ違うセルに数値で入力されており、 固定でその入力された年、月、日から固定で120後の月、日を出したいと言うことで宜しいでしょうか? 上記でよいのだとしたら 年=A1、月=A2、日=A3に入力されているとして 月計算=MONTH(DATE(A1,A2,A3)+120) 日計算=DAY(DATE(A1,A2,A3)+120) で良いと思います。 固定で120日後ではなく、変動する日数がどこかに入力されているのであれば「120」の部分を数値が入力されているセル番号に変えればOKです。

その他の回答 (5)

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

回答に対し注文ばかり多いが、質問の下記の点ははっきりしているんのかな。回答者も関数による回答など、(ユーザー定義関数以外は)関数の数・種類は決っていて、ほとんど自由になるわけではないよ。 >指定の月が入っています。 例12 と>指定月から、120日後の の場合12月の何日をスタート日に使うのか。1日や末日など。

  • kouji_124
  • ベストアンサー率46% (283/605)
回答No.5

申し訳ございませんが質問の意味が良く分かりませんのでEXCELの日付に関する基本的な考えを書きます。 EXCELの日付の概念は、「1900年1月1日」を基準に何日経過しているかと言う考え方が基本になっていて「シリアル値」と呼ばれます。 例えば、セルに「1」と入力してセルの書式を日付にして形式を「yyyy/m/d」を選択すると「1900/1/1」と表示されます。 また、「120」とすると「1900/4/29」となります。 この事を逆手に取れば、基準となる日のシリアル値が分かれば、経過日数を単純に足し算をしてあげるだけで目的の日が分かります。 例えば、今日の120日後を式で表すなら、[=DATE(2009,12,10)+120]として書式を「yyyy/m/d」にしてあげれば、[2010/4/9]と表示されます。 また、セルA1に[120]、セルB1に[12]と入っている場合で、セルB1の月の1日を基準にセルA1に入力されている日数経過した日の月を調べるのであれば、以下の様になります。 =MONTH(DATE(YEAR(NOW()),B1,1)+A1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

指定の月は日付のシリアル値ではなく、1~12までの数値が入っているのでしょうか? それでしたら、指定の年と日(日は1日固定?)は何の値を使うのでしょうか。 うるう年の関係で、年を指定しないと正確な○日後の日付が出ません。

kinsan7
質問者

補足

説明不足で申し訳ありませんでした。 指定の月は1~12の数値です。 指定の年を数値で2009等と別のセルに入れています。 日はこちらも年、月とは別のセルに数値で入れていますが 入るのは、15か30のみです。

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

日数=A1、指定月=A2に入力されているとして 月計算=MONTH(DATE(YEAR(TODAY()),A2,1)+A1) 日計算=DAY(DATE(YEAR(TODAY()),A2,1)+A1) で希望の結果が得られませんか? まとハズレでしたらスルーしてください。

kinsan7
質問者

お礼

スルーなんて出来ませんでした(笑) はい、これでも月は出来ますね。ありがとうございます。 ですが、月によって、19日だったり、20日だったりしてしいます。 できれば、月が変わっても、20と表示させたいのです。 説明不足で申し訳ありませんでした。

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

まず、A1に日付があり B1に日数 C1に月数 の場合 日付については =A1+B1 月については =DATE(YEAR(A1),MONTH(A1)+C1,DAY(A1) でどうでしょうか。

kinsan7
質問者

お礼

早速のご回答ありがとうございます。 XX日後の年、月はこれでも可能ですね。 説明不足な事もありましたが、なぜか、月と日は別々のセルに 入力されています。 また、XX日後といっても厳密ではなく、 125日後がたとえば4日とかになっても、 5日と表示させたいのです。 難しいですかね。

関連するQ&A