DeWayne在单元格A1中有一个日期,很容易从该日期中提取月份。但是,他需要做的是计算该月的第一个工作日之前五天http://calendarcorner.net/[calendar]天的日期。因此,如果单元格A1中的日期为2012年9月26日,则该月的第一个工作日为9月3日,而之前的五天为8月29日。

您可以使用许多不同的公式来得出这样的日期。我遇到的最短的一个是:

=WORKDAY(A1-DAY(A1),1)-5

它从当前日期中减去该月的某天,从而得出上个月的最后一天。使用此参数作为WORKDAY函数的参数以及第二个参数1,可以为您提供当月的第一个工作日(工作日)。然后从该日期减去五天,即可得到理想的结果。

如果愿意,还可以通过以下方式在公式中使用EOMONTH函数:

=WORKDAY(EOMONTH(A1,-1),1)-5

公式的EOMONTH(A1,-1)部分给出的结果与上个月的最后一天A1-DAY(A1)相同。

如果需要,您还可以使用WORKDAY函数的第三个参数来考虑假期。最简单的方法是这种方式:

=WORKDAY(A1-DAY(A1),1,MyHolidays)-5

在这种用法中,MyHolidays是您分配给一系列单元格的名称,其中每个单元格都包含一年中假期的日期。

应当指出,到目前为止使用的两个功能(WORKDAY和EOMONTH)都是Analysis ToolPak的一部分,必须在系统上安装并启用它们才能使这些功能正常工作。 (_ExcelTips_的其他问题介绍了如何启用ToolPak。)

如果由于某些原因不想使用Analysis ToolPak,则可以使用其他公式化方法,例如:

=A1-DAY(A1)+1+(WEEKDAY(A1-DAY(A1))=7)+2*(WEEKDAY(A1-DAY(A1))=6)-5

该公式计算月份的第一天,然后根据月份的第一天是星期六还是星期天添加适当的值。然后,从结果中减去五天。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12178)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到适用于Excel功能区界面(Excel 2007和更高版本)的本技巧的版本:

链接:/ excelribbon-Calculating_a_Date_Five_Days_before_the_First_Business_Day [计算第一个工作日前五天的日期]。