Excel函数确定一个月的上个星期五

我正在寻找Excel函数来返回给定date的一个月中的上个星期五。

即:在该月中的任何date作为input将给出上个星期五的date作为输出。

14-July-09 should give 31-July-09 7-March-05 should give 35-March-09 

在上面的@Toomas答案的基础上,我不得不对Excel 2007做一些修改,但是提出了以下内容:

 =EOMONTH(A1,0)-MOD(WEEKDAY(EOMONTH(A1,0))+1,7) 

假设WEEKDAY星期五返回的是6,然后应用一个移位的MOD 7来获得正确的一天。

试试这个公式:

 =IF(WEEKDAY(EOMONTH(A5;0);16)=7;EOMONTH(A5;0);EOMONTH(A5;0)-WEEKDAY(EOMONTH(A5;0);16)) 

input您正在寻找一个月内上个星期五的A5date值。

下面的公式为单元格A1中的date完成此操作:

 =DATE(YEAR(A1),MONTH(A1)+1,0)+MOD(-WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,0),2)-2,-7) 

您可以尝试= DATE(年(A1),月(A1)+1,1)-1 +select(周date(年(A1),月(A1)+1,1)-1), – -3,-4,-5,-6,0,-1)find月份的最后一个星期五。 假设A1有date。

我来这里寻找公式来获得最近的星期五,结果是=TODAY()-WEEKDAY(TODAY())-1

真棒! 基本上,就像试图find本月的第一个或第二个星期一一样,

 =DATE(TheYear,5,1)+CHOOSE(WEEKDAY(DATE(TheYear,5,1)),1,0,6,5,4,3,2) 

返回该月的第一个星期一,在这个例子中是May

但要find月份的最后一个工作日,在公式中,从下个月开始,然后减去

 =DATE(TheYear,6,1)-1+CHOOSE(WEEKDAY(DATE(TheYear,6,1)),-6,-5,-4,-3,-2,-1,0) 

这将返回五月的最后一个星期一

我有一个名为TheYear的单元格,在这个单元格中我进入了与之一起工作的一年,但是您可以指向任何您想要的年份(例如A1)的单元格。

我不知道为什么指向星期几的时间是相反的,但要find一天(例如星期二而不是星期一),改变这些数字的顺序,但他们必须保持秩序。 例如,十一月的第四个星期四:

 =DATE(TheYear,11,1)+21+CHOOSE(WEEKDAY(DATE(TheYear,11,1)),4,3,2,1,0,6,5)