如何用条件格式高亮SEQUENCE公式生成的Excel日历当日日期
解决SEQUENCE日历无法高亮当日日期的问题
问题原因
你当前的=SEQUENCE(6,7,CHOOSE(WEEKDAY(B2),1,0,-1,-2,-3,-4,-5))公式生成的是相对天数数值(如0、1、-1这类偏移量),而非Excel可识别的标准日期序列值,因此“日期发生”条件格式无法匹配当日日期。
解决步骤
1. 修改SEQUENCE公式生成实际日期
将B4的公式替换为生成完整日期值的版本,确保日历单元格存储的是标准日期:
=SEQUENCE(6,7,EOMONTH(B2,-1)+1 + (1 - WEEKDAY(EOMONTH(B2,-1)+1,2)))
- 公式说明:
EOMONTH(B2,-1)+1:获取B2所在月份的第一天WEEKDAY(...,2):将周一设为星期1、周日设为星期7,计算当月第一天的星期数1 - WEEKDAY(...):算出当月第一天到日历第一格的偏移量,确保日历从周一(或你需要的起始星期)开始排列
2. 设置条件格式高亮当日
选中日历的整个区域(比如B4:H9,对应6行7列的序列),按以下操作:
- 点击「开始」→「条件格式」→「新建规则」
- 选择「使用公式确定要设置格式的单元格」
- 输入公式:
=B4=TODAY()(注意:公式里的单元格要和选中区域的左上角单元格一致,比如选中B4开头的区域就用B4) - 设置高亮格式(比如填充黄色),点击确定即可。
备选方案(不修改原公式)
如果不想改动原SEQUENCE公式,可调整条件格式的匹配逻辑:
- 同样选中日历区域,新建条件格式规则,使用公式:
=B4=(TODAY()-B2) - 此方法要求B2是当月的有效日期,且当日在日历的日期范围内。
内容的提问来源于stack exchange,提问作者Kristen Striker
相关产品推荐
相关产品推荐

