#1 楼
我已经为此苦苦挣扎了很长时间,但最终还是破解了它:在带有日期的列上使用条件格式,然后将以下内容作为自定义公式键入:
=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)
其中
A1
是列中的第一个日期。这会将条件格式应用于值分别为1(星期日)和7(星期六)的所有工作日。
#2 楼
在新的Google表格中轻松(但有点乏味!)。对于条件格式,大约每种颜色都需要一个新规则。 (通常可以从规则中跳过一种颜色,而采用常规格式设置-在适用于CF的任何条件下都将被忽略。)因此,请至少重复以下五次基本操作。说日期列为A。选择它,格式>条件格式...,自定义公式为并输入:
=weekday(A1)=1
选择所需的格式。
上面的最后一个
1
是星期日,其他日期按数字顺序。重复其他所需的格式,并根据需要调整
1
。 因为这些规则没有冲突(每个日期仅是一周中的某一天),所以添加规则的顺序(带有“ +添加另一个规则”)无关紧要。
评论
在此基础上,更简单的方法是= WEEKDAY(A1,2)> 5-这将同时在周六和周日生效,并且只需要一个规则
– FuriousGeorge
2015年12月3日,14:24
做到了。谢谢!
–约书亚舞
16/09/26'6:18
#3 楼
如果日期在A列中,请选择日期,然后执行以下操作:格式>条件格式设置...>单元格格式设置...>自定义公式并放入=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))
一些解释:
weekday(A:A)
在星期几返回1-7,并且or(weekday(A:A)=1, weekday(A:A)=7)
在星期天(1)或星期六(7)返回true。/>这可以单独使用,但是由于某种原因,在一个空单元格上,weekday()会返回7,因此
isblank(A:A)=false
还会检查该单元格是否为空。现在如果它既是(非空)又是(sun或sat),它会为一个单元格着色。我还放置了
A:A
,因为如果格式范围不在顶部开始,则A1
会给出偏移量结果(例如,用A5:A100
代替A1:A100
)记入pnuts!
#4 楼
使用脚本可以做到这一点。转到工具→脚本编辑器...,然后粘贴以下脚本:function onEdit(e) {
var cell = e.range.getCell(1, 1);
var val = cell.getValue();
if ((val instanceof Date) && (val.getDay() == 0 || val.getDay() == 6)) {
cell.setBackground("red");
} else {
cell.setBackground("white");
}
}
保存脚本(为项目命名),然后返回电子表格。<现在,每次编辑单元格时,此脚本都会检查您是否输入了日期,以及输入的日期是星期日还是星期六。如果是这样,单元格的背景将变为红色。如果不是日期或不是周末,背景将变为白色。
您可以使用其他颜色名称,也可以使用十六进制代码指定其他颜色。 。
评论
谢谢,威廉。尽管代码看起来很明智,但是由于某些原因,它并没有按预期工作。它将偶数天变成红色,奇数天变成白色。
–迈克·埃利斯(Mike Ellis)
13年4月26日在21:49
我将if语句中的测试更改为更简单。现在可以用吗?
–威廉·杰克逊
13年4月29日在13:57
#5 楼
要有条件地格式化带有日期的单元格A6
,我在条件格式*Custom formula is*
(底部下拉菜单)下使用了该选项,并输入了公式=weekday(A6,2)<6
这是有关单元格
A6
上的条件如果要标记周六和周日,请使用:
=weekday(A6,2)>5
评论
谢谢,这是一个很好的解决方案。我接受对于我的用途,我已对其进行了调整以排除空白单元格:= and(not(isblank(A1))或(WEEKDAY(A1)= 1,WEEKDAY(A1)= 7))
–迈克·埃利斯(Mike Ellis)
18年2月7日在15:55
不错,而且没有isblank。我一直以仅在包含日期的范围内使用它的方式使用它,例如A1:A31。我也将它从使用>和<更改为=,就像您所做的一样。这样有点简单。我想我开始希望工作日编号更像是在我的国家/地区,星期一是1,星期日是7。我不知道如果更改国家/地区设置,情况是否如此。
–aej
18-2-8在3:31