我正在创建一个日历,我需要输入每天指定的文本。每个月的第一个工作日的“WD1”,然后在该月的最后一天,它必须是“WD-1”,直到“WD-8”,周末必须排除在此之外。 WD1等等,直到遇到WD-8。 我不能为此创建一个动态公式来减少手动输入,请帮助我。
答案 0 :(得分:3)
这就是我要做的事情:
从空白工作表开始。 (别担心,你可以在之后复制漂亮的格式,但同样应该是最后步骤。
在单元格A1
中输入=DATE(2018,6,1)
B1
中输入=A1+1
选择(突出显示)单元格A1
至B1
,然后按 Ctrl + 1 转到数字格式。从左侧选择Custom
,然后在Type
字段中输入:ddd mmm d
。单击确定。
你应该有6月1日的日期& 2018年2月
(我通常只会在2018-06-01
中输入A1
但是我的国家/地区;根据您所在的国家/地区,您和# 39;重新日期格式可能不同 - 如果输入错误,则不会被识别为日期。)
接下来,将单元格B1
突出显示为AD1
,然后点击 Ctrl + R 。你现在应该有整个月的日期。
现在点击单元格A1
,然后在公式栏左侧的名称框中输入FirstDay
,然后按 Enter
这为单元格提供了FirstDay
的定义名称,就像别名(又名"命名范围")
点击单元格AD1
(应该是6月30日)并命名为“LastDay'
在单元格A2
中输入公式:=IF(NETWORKDAYS(A1,LastDay)>8,NETWORKDAYS(firstDay,A1),NETWORKDAYS(A1,LastDay))
选择(突出显示)单元格A2
至AD2
,然后按 Ctrl + R 将公式填充到右侧。
现在,6月30日应该低于0
。困难的部分已经完成。中间部分看起来应该是这样的:(当我们完成时你会明白为什么。)
选择单元格A1
和A2
,然后按 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
,然后选择白色。
(我们正在制作具有重复数字(周末等)的单元格仍然具有值但是 不可见 。)
点击确定"三次"关闭所有对话框。
A2
,然后点击 Ctrl + C 到复制。 A2
至AD2
,然后按 Ctrl + Alt + V 打开粘贴值对话框。 Values
,然后点击确定。基本上剩下的就是格式化。
单击左上角突出显示所有单元格,使单元格宽度相等(如下面动画的开头)。我总是使用"星期三"因为它们是最广泛的尺寸。 : - )
将单元格拖动到所需的位置,然后从之前复制仅格式,或者根据需要立即重新格式化。
根据需要重新定位十分钟格式化,我们有类似于您的示例的内容:
就个人而言,我喜欢抛出侧面文字以节省垂直空间,这是个人喜好的问题。
也许我的投放可能会更好一些,所以我会在几分钟内发布我的
XLSM
演示文件,如果您愿意,可以下载,然后稍微清理帖子......
请记住,单元格B2应设置为该月的第一天,所有内容都基于此处。 玩得开心!
答案 1 :(得分:2)
我同意ashleedawg;从空白工作表开始。
6/1/18
然后合并A1:G1并将单元格格式化为 mmmm yyyy 。应用左对齐和你想要的任何其他东西。在A4 put中,
=$A$1-WEEKDAY($A$1, 3)+(COLUMN(A:A)-1)+INT((ROW()-ROW($4:$4))/2)*7
将条件格式设置规则应用于A4,该规则将根据以下公式显示非月份日期
=text(a4, "mmyy")<>text($a$1, "mmyy")
在A2中,
=UPPER(TEXT(A3, "dddd"))
4,在A3中,
=IF(AND(TEXT(A4, "mmyy") = TEXT($A$1, "mmyy"), NETWORKDAYS.INTL(A4, A4, 1)), NETWORKDAYS.INTL($A$1, A4, 1), TEXT(,))