
日にち計算で、当日から半年-1又は一年-1を求めたい時に
下記の様入力してみましたが、
=DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)-1)
2011/8/29→2012.02.28→2012.08.28
2011/8/30→2012.02.29→2012.08.29
2011/8/31→2012.03.01→2012.08.30
2011/9/1→2012.02.29→2012.08.31
2011/9/2→2012.03.01→2012.09.01
2011/08/31ま半年後-1だけ結果がおかしくなってしまいます。
5年先でもおなじ結果です。
解決方法を教えて頂けませんでしょうか?
宜しくお願い致します。
No.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を使うためには、アドインの分析ツールのチェックを入れておく必要があります。)
ありがとうございますm(_ _)m
出したかった結果が出てきました。
これで設定して置けば何年先でも問題なしです!
助かりました、本当にありがとうございます。
No.2
- 回答日時:
「半年後の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日多くなってしまわないようにしたいです。
教えてください。
宜しくお願いします。
No.1
- 回答日時:
行っている計算は、
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行目だけ日にちが逆転してしまってるのを防ぐにはどうすれば良いのかです。
方法を教えて頂けませんでしょうか?
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンのフォルダ 更新日時変...
-
回復ディスクを別のPCで復元で...
-
パソコンの初期化
-
システムに対して、何かをした...
-
コンピュータ
-
入力装置に関しての質問
-
お名前(姓)」には「カタカナ(...
-
Windows11のstartup時のトラブル
-
写真(jpgファイル)をトリ...
-
電子部品の代替推奨品(フルコ...
-
CSVファイルで誤って上書き保存...
-
近い将来、絶対に日本で光コン...
-
システム開発の会社で、額面24...
-
将来的にはAIがプログラミング...
-
CSV が読み取り専用になる。
-
c:ドライブの回復パーティーシ...
-
Windowsパソコンの【Windowsの...
-
win11 ディフェンダーのセット...
-
NHKに提訴された日本IBMの反論...
-
「学校内でサーバーを設置しない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報