基于公式生成的星期值的条件格式失效,如何解决?
基于公式生成的日期显示值设置条件格式解决方案
核心问题说明
你之前的条件格式规则失效,是因为公式生成的单元格实际存储的是日期序列号(比如45230这类数字),自定义单元格格式只是改变了显示内容,并没有修改单元格的实际值。直接匹配文本"Samedi"或"Dimanche"自然不会生效。
两种可行解决方案
方法一:直接基于日期值判断星期几(推荐,高效稳定)
利用WEEKDAY函数直接识别日期对应的星期,无需依赖显示文本:
- 选中需要设置条件格式的单元格区域
- 打开「条件格式」→「新建规则」→ 选择「使用公式确定要设置格式的单元格」
- 输入公式(假设目标单元格为
C1,根据你的实际区域调整):=OR(WEEKDAY(C1,2)=6, WEEKDAY(C1,2)=7)- 参数
2表示周一为1,周日为7,所以6对应周六(Samedi),7对应周日(Dimanche)
- 参数
- 设置你需要的填充颜色,点击确定即可
方法二:匹配自定义格式显示的星期文本
如果需要严格对应显示的法语星期名称,用TEXT函数提取对应文本进行判断:
- 同样选中目标单元格区域,新建条件格式规则
- 输入公式:
=OR(TEXT(C1,"[$-fr-FR]aaaa")="Samedi", TEXT(C1,"[$-fr-FR]aaaa")="Dimanche")[$-fr-FR]指定法语区域格式,aaaa表示提取星期全称
- 设置填充颜色并确定
注意事项
- 替换公式中的
C1为你实际的单元格引用(如果是整列或区域,确保引用为相对引用,不要加$符号) - 方法一不受系统语言区域影响,计算效率更高;方法二完全匹配显示的文本内容,适合有严格显示需求的场景
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

