我想格式化每行中开始日期到结束日期范围内的所有单元格(基本上用颜色填充它们)。
例如,在下图中,您可以看到单元格B8
和C8
分别包含开始日期和结束日期1/1/2013
和3/24/2013
。它格式正确,在单元格D8:08
中着色。
标题单元格包含格式为文本的日期。例如,单元格D3
(第一个J)实际上是2013年1月1日。同样,单元格E3
(第二个J)实际上是2013年1月8日,单元格{{1} }是2013年1月15日,单元格F3
是2013年1月22日。每个月重复一次,只列出每个月的第1天,第8天,第15天和第22天。
问题:我相信我已经完成了大部分工作,但如果日期超出了标题单元格中指定的日期,它似乎无法正确格式化。
例如,如果我指定了2013年5月31日的开始和结束日期,则不会突出显示单元格。见下图。
我认为这是因为我的标题单元格中只有2013年5月22日,但我希望每个月保留四周。
下面是我用来格式化的公式,然后我将其应用于整个范围G3
,它基本上是整个任务层次结构。
D8:AY43
是否有更改此公式以适应我的问题(单元格不会突出显示它们是否超出月份列标题中指定的值范围?)或者我是否必须重新构建我的电子表格?
谢谢!
答案 0 :(得分:1)
另一种方法是每月保留“4周”,更改标题栏中的日期以反映“周”的结束,而不是开始。因此,而不是1月1日,1月8日,1月15日等,使用1月5日,1月12日,1月19日,& 1月31日。您需要调整公式以说明该更改,但它会保留工作簿的结构。
不是100%肯定你正在做什么(看起来像甘特图?)但看起来你只是想评估D列中的日期是否在cols B&的开始和结束日期之间。 C,在这种情况下:
=AND($B8<=D$3,$C8>=D$3)*1
这测试D3中的日期是否落在B列和B列中定义的开始/结束日期之间。 C,如果为真则返回“1”,如果为假则返回“0”。
要将其置于条件格式中,请执行以下规则:
=AND($B8<=D$3,$C8>=D$3)*1=1
以下是规则在条件格式设置对话框中的外观: