在范围

时间:2016-02-25 18:43:08

标签: excel excel-formula excel-2010

我正在建立一个年度轮班名单,我试图弄清楚如何应用条件格式来显示周末的位置。弄清楚如何定义周末很容易,这里的问题是使条件格式与该规则合作。

以下是我为试图复制此内容的人设置表格的方法:

第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列,然后将条件格式应用于该单列而不是整个范围。这里的最终结果是工作日没有应用填充,而周末是阴影。

1 个答案:

答案 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(星期五)。