重点内容
适用版本
桌面版通用(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 验证条件设置
场景二:只允许工作日(排除周末)
- 选取要限制的范围
- 选择 Custom
- 在 Formula 输入框填入判断"不是周末"的公式,逻辑上是:
=AND(WEEKDAY(A2)<>1,WEEKDAY(A2)<>7)WEEKDAY 函数默认返回 1(星期日)到 7(星期六),如果算出来的结果既不等于 1 也不等于 7,代表这天不是周末,允许输入
- 测试:在 A2 输入 8/27/2016(星期六),Excel 弹出错误提示,拒绝该输入
学完你会
常见错误
- Data Validation 的 Allow 类型选错(选了 Date 却想同时限制不能是周末,其实周末判断要另外用 Custom 公式,两种限制不能在同一个规则里直接叠加)
- End date 写死成固定日期,没用
=TODAY()+5这类公式,导致过一段时间后允许范围就不合时宜了 - WEEKDAY 判断公式里写反了数字(把 1 和 7 弄混,或者用了 WEEKDAY 的第二参数改变了星期编号系统却没跟着调整判断条件)
Sources
Blog / Website: