- ベストアンサー
エクセルの日付計算
入力した日付から○ヶ月前の日付、または○ヶ月後の日付が表示されるようにしたいのですが、そのような関数はあるのでしょうか? 回答よろしくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.5 の続きですが・・・ EDATEアドイン関数を使用しないで、同等の計算式を作ってみました。 アドイン関数ってブックを配布するとき、不便じゃない? と思ったりして・・・ 括弧内の数字(4ヶ所)が、加減する月数です。 現在の式は、セルA1の日付けの2ヶ月前を表示します。 =IF(MOD(12+MONTH(A1)+(-2),12)=MONTH(DATE(YEAR(A1),MONTH(A1)+(-2),DAY(A1))),DATE(YEAR(A1),MONTH(A1)+(-2),DAY(A1)),DATE(YEAR(A1),MONTH(A1)+1+(-2),0))
その他の回答 (5)
- ja7awu
- ベストアンサー率62% (292/464)
単に"月の引き算"する方法では、商取引等重要なものに 使用するには、大変危険です。 まぁ、だいたいって感じで良ければいいんですが・・・ セルA1に入力されている 2003/4/30 の 2ヶ月前を求めるのに =DATE(YEAR(A1),MONTH(A1)-2,DAY(A1)) とすると、2003/3/2 になってしまいます。 普通、支払いや利息の計算など商取引では、2003/2/28 に なると思います。 EDATE関数を使用するか、アドインがいやなら、月末補正を 考慮した式にすれば良いでしょう。式が長くなりますが・・・ ちょっと気になったので・・・
- deadline
- ベストアンサー率63% (1239/1943)
ANo.#2の訂正。 『"MONTH(A2)+○"が月が12を超えても』は、 『"MONTH(A2)+○"が12を超えても』です。 ついでに、ANo.#3の方の回答にあるEDATE関数を使用する場合には、EDATE関数はアドイン関数なので、『分析ツール』がインストールされている必要があります。 インストールされていない場合には、"Office"または"Excel"のセットアッププログラムを実行して『分析ツール』をインストールし、[ツール]⇒[アドイン]で一覧の中から『□分析ツール』にチェックを入れる必要があります。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
A1に日付が入力されているとして、 =EDATE(A1,-1) で1ヶ月前の日付が表示されます。-1の部分を1とすると1ヶ月先の日付になります。
- deadline
- ベストアンサー率63% (1239/1943)
単純に○ヶ月前の同じ日(4月15日の3ヶ月前が1月15日とか)というのであれば、セルA2に"2003/4/26"という形で日付が入力されているとして、 =DATE(YEAR(A2),MONTH(A2)-○,DAY(A2)) (○ヶ月前) =DATE(YEAR(A2),MONTH(A2)+○,DAY(A2)) (○ヶ月後) です。"MONTH(A2)-○"が1より小さくなったり、"MONTH(A2)+○"が月が12を超えても、Excelが自動的に年の表示を加減してくれます。
- tbobi
- ベストアンサー率45% (544/1189)
A1に日付が入力されているとして、別のセルに =DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)) とすると1ヶ月前のその日付 =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)) とすると1ヵ月後のその日付がでます。
お礼
月末の調整が必要だとかなりややこしいんですね…(>_<) すごい式まで作って頂いてありがとうございました。 とはいうものの、一体どういう構成になっているのか、さっぱり分からないので、そのままコピーさせて頂くしかないです。