工作日的公式

时间:2018-04-26 01:55:44

标签: excel excel-formula calendar

我正在创建一个日历,我需要输入每天指定的文本。每个月的第一个工作日的“WD1”,然后在该月的最后一天,它必须是“WD-1”,直到“WD-8”,周末必须排除在此之外。 WD1等等,直到遇到WD-8。 我不能为此创建一个动态公式来减少手动输入,请帮助我。 enter image description here

enter image description here

2 个答案:

答案 0 :(得分:3)

这就是我要做的事情:

  • 空白工作表开始。 (别担心,你可以在之后复制漂亮的格式,但同样应该是最后步骤。

  • 在单元格A1中输入=DATE(2018,6,1)

  • 在单元格B1中输入=A1+1
  • 选择(突出显示)单元格A1B1,然后按 Ctrl + 1 转到数字格式。从左侧选择Custom,然后在Type字段中输入:ddd mmm d。单击确定

    你应该有6月1日的日期& 2018年2月 (我通常只会在2018-06-01中输入A1但是我的国家/地区;根据您所在的国家/地区,您和# 39;重新日期格式可能不同 - 如果输入错误,则不会被识别为日期。)

  • 接下来,将单元格B1突出显示为AD1,然后点击 Ctrl + R 。你现在应该有整个月的日期。

  • 现在点击单元格A1,然后在公式栏左侧的名称框中输入FirstDay,然后按 Enter

    这为单元格提供了FirstDay定义名称,就像别名(又名"命名范围")

    img

  • 点击单元格AD1(应该是6月30日)并命名为“LastDay'

  • 在单元格A2中输入公式:=IF(NETWORKDAYS(A1,LastDay)>8,NETWORKDAYS(firstDay,A1),NETWORKDAYS(A1,LastDay))

  • 选择(突出显示)单元格A2AD2,然后按 Ctrl + R 将公式填充到右侧。

现在,6月30日应该低于0。困难的部分已经完成。中间部分看起来应该是这样的:(当我们完成时你会明白为什么。)
img

  • 选择单元格A1A2,然后按 Ctrl + 1 。从左侧再次选择Custom,这次Type\W\D-0。单击确定

  • 选择单元格A2按住 Alt 并按 O D N 打开条件格式对话框。 (或者,您可以点击Home - > Conditional Formatting - > New Rule。)

  • 条件格式对话框中,点击'使用公式确定要格式化的单元格'对话框。在 Format values where this formula is true 框中键入:=B2=A2,然后点击格式按钮。

  • Font标签下点击Color,然后选择白色

    (我们正在制作具有重复数字(周末等)的单元格仍然具有值但是 不可见 。)

    img (点击图片放大)

  • 点击确定"三次"关闭所有对话框。

  • 点击单元格A2,然后点击 Ctrl + C 复制
  • 选择(突出显示)单元格A2AD2,然后按 Ctrl + Alt + V 打开粘贴值对话框。
  • 选择Values,然后点击确定

基本上剩下的就是格式化。

  • 单击左上角突出显示所有单元格,使单元格宽度相等(如下面动画的开头)。我总是使用"星期三"因为它们是最广泛的尺寸。 : - )

  • 将单元格拖动到所需的位置,然后从之前复制仅格式,或者根据需要立即重新格式化。

img

格式化后

根据需要重新定位十分钟格式化,我们有类似于您的示例的内容:

点击图片放大。
final

就个人而言,我喜欢抛出侧面文字以节省垂直空间,这是个人喜好的问题。
alternate final

  

也许我的投放可能会更好一些,所以我会在几分钟内发布我的XLSM演示文件,如果您愿意,可以下载,然后稍微清理帖子......

下载文件here

请记住,单元格B2应设置为该月的第一天,所有内容都基于此处。 玩得开心!

答案 1 :(得分:2)

我同意ashleedawg;从空白工作表开始。

  1. 在A1中放6/1/18然后合并A1:G1并将单元格格式化为 mmmm yyyy 。应用左对齐和你想要的任何其他东西。
  2. 在A4 put中,

    =$A$1-WEEKDAY($A$1, 3)+(COLUMN(A:A)-1)+INT((ROW()-ROW($4:$4))/2)*7
    
  3. 将条件格式设置规则应用于A4,该规则将根据以下公式显示非月份日期

    =text(a4, "mmyy")<>text($a$1, "mmyy")
    
  4. 在A2中,

    =UPPER(TEXT(A3, "dddd"))
    
  5. 4,在A3中,

        =IF(AND(TEXT(A4, "mmyy") = TEXT($A$1, "mmyy"), NETWORKDAYS.INTL(A4, A4, 1)), NETWORKDAYS.INTL($A$1, A4, 1), TEXT(,))
    
    1. 将自定义数字格式\W\D-0;;;应用于A3。
    2. 填写A2:A4直到G2:G4。
    3. 将A3:G4复制到A5,A7,A9和A11。
    4. 格式化你的内心。
    5. 这就是你应该需要的。如果您需要一些奇怪的WD-x倒计时,因为这些日子接近月末,那只是数学。

      enter image description here

      要真正看到此类数学驱动日历的多功能性,请将A1中的日期更改为另一个月和/或一年。