我需要一个公式来计算一周中指定日期的第 N 次出现,但是如果该日期已过去,我想知道下个月的第 N 次出现。
我用这个来获取第 N 天:
=DATE(YEAR(NOW()),MONTH(NOW()),1+7*A)-
WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-B))
A= 星期几的第 N 次出现
B= 星期几
因此,如果 A=1 且 B=4,我将获得第一个星期三。但如果今天的日期超过了当月的第一个星期三,我需要下个月的第一个星期三。
答案1
只需添加一个以您的公式为条件的 IF,然后当结果小于 NOW() 时将 DATE 的月份部分添加 +1:
=IF(DATE(YEAR(NOW()),MONTH(NOW()),1+7*A)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-B))<NOW(),DATE(YEAR(NOW()),MONTH(NOW())+1,1+7*A)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW())+1,8-B)),DATE(YEAR(NOW()),MONTH(NOW()),1+7*A)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-B)))