Haven在这里找不到任何有关此事的信息......
我的文件由员工用于每月跟踪生产。工作表上的单元格包含该月份的第一个日期 - 即May 1, 2016
我需要构建一个表,列出上一页(May 1, 2016
)中指示的月份仅工作日。我已经能够使用 = WORKDAYS 功能创建工作日列表并使用填充来完成该月的日期列表,但问题是它只是继续列出在下个月的日期。我只是使用:
=WORKDAY(C2,1) May 30
=WORKDAY(D2,1) May 31
=WORKDAY(E2,1) June 1
等,填写日期。在我的示例中,我希望Excel返回""
而不是继续下个月。
我假设我可以使用某种IF
语句,但如果检查需要检查单元格,我无法弄清楚如何避免循环引用它在......
答案 0 :(得分:2)
在Sheet1
单元格A1上是日期值May 1, 2016
在Sheet2
单元格A1上是标题,因此实际日期将从单元格A2开始。在单元格A2中,这个公式是获得当月的第一个工作日:
=IF(WEEKDAY(Sheet1!A1,2)<6,Sheet1!A1,WORKDAY(Sheet1!A1,1))
然后在单元格A3中复制下来是这个公式:
=IF(A2="","",IF(MONTH(WORKDAY(A2,1))<>MONTH(A2),"",WORKDAY(A2,1)))
您将获得如图所示的结果。请注意,我将其复制到单元格A31,它提供了正确的工作日日期并在月末停止:
答案 1 :(得分:0)
这个公式怎么样:
=IFERROR(IF(TEXT(D2,"yymm")<>TEXT(E2,"yymm"),"", WORKDAY(E2,1)),"")
它检查单元格D2中的月份和年份是否等于单元格E2中的月份和年份。如果不是这种情况,则会为您提供一个空白单元格。
请告诉我这是否适合您。