Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2019)
21日以降 かつ 月曜から翌月と判定
投稿日時: 24/06/10 16:17:30
投稿者: ラングドシャ

よろしくお願いいたします。
  
=IF(ISODD(MONTH(DATE(YEAR(GW5), MONTH(GW5) + IF(DAY(GW5) > 20, 1, 0), 1))), 1, 2)
  
こちらの関数でGW5の日付から月を取得し奇数月、偶数月を判定しています
  
GW5に6/17と値がある場合:偶数月なので2が取得されます
6/21になると、7月判定となり奇数月判定で1を取得します。
  
今回、週途中で21日になった場合は、その週終わりまではその月で判定し、翌月曜から
翌月の判定がされるように改変したいと思っています。
  
=IF(DAY(GW5) <= 20, IF(ISODD(MONTH(GW5)), 1, 2), IF(ISODD(MONTH(GW5 + 7 - WEEKDAY(GW5, 2))), 1, 2))
  
このように改変してみましたがうまく変更できませんでした。
翌週月曜から翌月判定されるにはどのようにしたらいいでしょうか?
以下の様に表示したいです。
  

	GW	GX	GY	GZ	HA	HB	HC	HD	HE
5	6/17	6/18	6/19	6/20	6/21	6/22	6/23	6/24	6/25
6	月	火	水	木	金	土	日	月	火
7	2	2	2	2	2	2	2	1	1

 
  
  
よろしくお願いいたします。

回答
投稿日時: 24/06/10 16:54:45
投稿者: 半平太

こんな感じかな?
=ISEVEN(MONTH(GW5)+(28-WEEKDAY(GW5-DAY(GW5)-1,2)<=DAY(GW5)))+1

回答
投稿日時: 24/06/10 17:24:25
投稿者: んなっと

こんなのも。FLOOR(GW5-2,7)+2 で直近の月曜日(当日を含む)を取得しています。
  
=2-ISODD(MONTH(FLOOR(GW5-2,7)+2)+(DAY(FLOOR(GW5-2,7)+2)>20))

投稿日時: 24/06/11 09:21:35
投稿者: ラングドシャ

半平太様
んなっと様
 
おはようございます。
ご回答いただきありがとうございました。
どちらの関数も問題ない結果を得られました。
お二方ともIF関数を使われていないことに少しびっくりしております。
 
本当にありがとうございました。