[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付関数』(マキ)
A12に今日の日付を入れたら
6か月後の日付をS12に表示しています。
=IF(A12="","",DATE(YEAR(A12),MONTH(A12)+6,DAY(A12)))
A12に今日(8月31日)と入力と入れたら
S12に6か月後の3月3日と出てしまいます。3月1日と出てほしい。
S12に出てほしい月
8月28日→2月28日
8月29日→3月1日
8月29日→2月29日(うるう年)
8月30日→3月1日
8月31日→3月1日
9月1日→3月1日
以上
宜しくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
S12セル =EDATE(A12,6)+(DAY(EDATE(A12,6))<>DAY(A12))
(半平太) 2020/08/31(月) 09:54
式の説明をお願いできませんでしょうか
よろしくお願いいたします。
(マキ) 2020/08/31(月) 10:36
>式の説明をお願いできませんでしょうか
大の月→小の月だと、応当日がない場合があります。 そのとき、EDATEは応答月の月末を返してきますので、それに1を足してやればいい。
応当日があったか無かったかは、DAY関数が同じか否かで判定できます。
つまり、DAY(EDATE(A12,6))<>DAY(A12) で判定します。
それがTRUEなら1、FALSEなら0の意味になるので、1日の調整ができます。
(半平太) 2020/08/31(月) 11:32
=EDATE(A12,6)は
A12にいれた日付の6ヶ月後を表示するのはわかりますが
多分
8月29日〜8月31日まで2月28日が変わらない
変えるために
そのあとの数式があると思います。
+(DAY(EDATE(A12,6))<>DAY(A12))
これが
いまいち理解できないのですが
よろしくお願いいたします。
(マキ) 2020/08/31(月) 11:53
でしたら、これに変えてください。
S12セル =EDATE(A12,6)+IF(DAY(EDATE(A12,6))<>DAY(A12),1,0)
(半平太) 2020/08/31(月) 12:35
新しい式
ありがとうございます。
もしA12とS12の日付が同じだったら
そのまま
もし
A12とS12の日付が違っていたら
日付に1を足しなさい
ですか?
よろしくお願いいたします。
(マキ) 2020/08/31(月) 13:35
>もしA12とS12の日付が同じだったら >そのまま >もし >A12とS12の日付が違っていたら >日付に1を足しなさい >ですか?
仰る通りです。
(半平太) 2020/08/31(月) 13:40
元の日付 =EDATE(A10,6) 求める日付 2020/8/27 2021/2/27 2021/2/27 2020/8/28 2021/2/28 2021/2/28 2020/8/29 2021/2/28 2021/3/1 ★ 2020/8/30 2021/2/28 2021/3/1 ★ 2020/8/31 2021/2/28 2021/3/1 ★ 2020/9/1 2021/3/1 2021/3/1 2020/9/2 2021/3/2 2021/3/2
★のところだけ、+1日すれば良い、という事。
(???) 2020/08/31(月) 13:53
貴重な時間を使って頂き感謝しております。
ありがとうございました。
( マキ) 2020/08/31(月) 14:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.