我正在建立一个年度轮班名单,我试图弄清楚如何应用条件格式来显示周末的位置。弄清楚如何定义周末很容易,这里的问题是使条件格式与该规则合作。
以下是我为试图复制此内容的人设置表格的方法:
第1行 - =LEFT(TEXT(row 2,"aaa"),1)
根据第2行中的日期显示一周中的单个字母日期
第2行 - 日期,格式为DD
。 A2以1/1/2016
开头,B2为=A2+1
,并且一直重复到第NB列(=NA+1
)
使用的条件格式设置公式=WEEKDAY($A$2,2)>5
已应用于$A$1:$A$15
。现在这适用于A列,但在尝试将其复制到B列时,规则仍然引用A列(但它会将其应用于B列)。我努力弄清楚的是如何让条件格式规则查看所有365列,然后将条件格式应用于该单列而不是整个范围。这里的最终结果是工作日没有应用填充,而周末是阴影。
答案 0 :(得分:0)
解决方法是使用=WEEKDAY(INDIRECT(ADDRESS(2,COLUMN())),2)>5
。
这里是每个部分的内容,从内部开始,然后开始锻炼:
COLUMN()
返回当前单元格的列号(A = 1,B = 2,C = 3等),所以为了这个例子,让我们说你选择了单元格A2 ,COLUMN()
将返回1.
ADDRESS(2,1)
返回绝对单元格引用("$A$2"
)的TEXT字符串,在这种情况下锁定到第2行。
INDIRECT("$A$2")
将文本字符串转换为A2
单元格引用
WEEKDAY($A$2,2)
评估单元格A2
(2016年1月1日)中的日期,并根据每周的日期返回一个数值。 2参数将星期设置为星期一(1)到星期日(7)。在此示例中,WEEKDAY()
将返回值5(星期五)。