EP01. “Reject Invalid Dates 拒绝无效日期”
🔒 登录后可标记已读- 用 Data Validation(数据验证)限制某一栏只能输入符合条件的日期
- 两种常见场景:只允许某个日期区间内的日期、只允许工作日(排除周六周日)
- 前置知识:Data Validation 对话框的基本操作
- 学完能防止别人在表格里乱填不合理的日期
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
场景一:只允许某个日期区间
- 选取范围 A2:A4
- Data 选项卡 → Data Tools 组 → Data Validation
- Allow 下拉菜单选择 Date
- Data 下拉菜单选择 between
- Start date 输入起始日期(例如 5/20/2016)
- End date 输入结束日期,可以用公式动态算出「今天 + 5 天」:
=TODAY()+5 - 效果:只有 5/20/2016 到「今天之后第 5 天」之间的日期才能输入,范围外的日期会被拒绝
- 测试:在 A2 输入 5/19/2016(早于起始日期),Excel 弹出错误提示,拒绝该输入
[截图:Validation Criteria 验证条件设置]
场景二:只允许工作日(排除周末)
- 选取要限制的范围
- Data Validation → Allow 选择 Custom
- 在 Formula 输入框填入判断"不是周末"的公式,逻辑上是:
=AND(WEEKDAY(A2)<>1,WEEKDAY(A2)<>7)
WEEKDAY 函数默认返回 1(星期日)到 7(星期六),如果算出来的结果既不等于 1 也不等于 7,代表这天不是周末,允许输入
- 测试:在 A2 输入 8/27/2016(星期六),Excel 弹出错误提示,拒绝该输入
学完你会
- ✅ 会用 Data Validation 限制某一栏只能输入某个日期区间内的日期
- ✅ 会用 Custom +
WEEKDAY公式限制只能输入工作日,自动排除周末 - ✅ 日期被拒绝时,能判断是「超出区间」还是「刚好是周末」
常见错误
- Data Validation 的 Allow 类型选错(选了 Date 却想同时限制不能是周末,其实周末判断要另外用 Custom 公式,两种限制不能在同一个规则里直接叠加)
- End date 写死成固定日期,没用
=TODAY()+5这类公式,导致过一段时间后允许范围就不合时宜了 - WEEKDAY 判断公式里写反了数字(把 1 和 7 弄混,或者用了 WEEKDAY 的第二参数改变了星期编号系统却没跟着调整判断条件)
Sources
Blog / Website: