- ベストアンサー
うるう年の謎を解決!日にち計算での課題について
- うるう年の謎について教えてください。日にち計算で、半年-1又は一年-1を求める際に問題が発生しています。特定の日付までの結果がおかしくなってしまいます。解決策を教えてください。
- 日にち計算で半年-1や一年-1を求める際に問題が発生しています。特に、2011年8月31日までの結果がおかしくなってしまいます。解決方法を教えていただけませんか?
- うるう年に関する問題があります。日にち計算で半年-1や一年-1を求める際に、特定の日付までの結果が間違っています。どのように修正すれば良いでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
詳しく検証していないけど、 =IF(DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)-1) <EDATE(A1,6),DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)-1),EDATE(A1,6)) でどうだろう。 (edateを使うためには、アドインの分析ツールのチェックを入れておく必要があります。)
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
「半年後の1日前」というフロー的には全く問題ない結果ですが どういう結果を想定しているのでしょうか? 2011/8/29の半年後=2/29、その一日前=2/28 2011/8/30の半年後=2/30=3/1、その一日前=2/29 2011/8/31の半年後=2/31=3/2、その一日前=3/1 2011/9/1の半年後=3/1、その一日前=2/29 2011/9/2の半年後=3/2、その一日前=3/1
お礼
ありがとうございます。 今表したいのは、 2011/8/29→ 2012.02.28 2011/8/30→ 2012.02.29 2011/8/31→ 2012.03.01→ここの結果を2012.02.29としたい。 2011/9/1→ 2012.02.29 2011/9/2→ 2012.03.01 設定した日にち(365日)に使用出来る関数表示をしたいです。 上記の5日のうちに、結果同じ日が3日あってもよいのですが、8/31と9/1の結果が8/31の方が1日多くなってしまわないようにしたいです。 教えてください。 宜しくお願いします。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
行っている計算は、 8/31+6月-1日 =2/31-1日=2/30 =3/2(うるう年以外の場合) =3/1(うるう年の場合) ですね。 8/31とうるう年以外の8/30については、独自に定義する必要があります。 2011/8/31 2012/8/31 2012/8/30 などをどのように計算させたいかをまずきめる必要があるということです。
お礼
ありがとうございます。 質問が明確ではなかったですね。 表したいのは、 2011/8/29→ 2012.02.28 2011/8/30→ 2012.02.29 2011/8/31→ 2012.03.01→ここを2012.02.29にしたい。 2011/9/1→ 2012.02.29 2011/9/2→ 2012.03.01 5行中3行目だけ日にちが逆転してしまってるのを防ぐにはどうすれば良いのかです。 方法を教えて頂けませんでしょうか? 宜しくお願いします。
お礼
ありがとうございますm(_ _)m 出したかった結果が出てきました。 これで設定して置けば何年先でも問題なしです! 助かりました、本当にありがとうございます。