用 WPS 表格做数据录入的时候,最头疼的就是别人乱填——性别写成”男”的又写一个”NAN”,日期格式五花八门,金额列里出现文字。这篇 WPS表格数据验证教程 教你用”数据验证”功能从根本上杜绝这些错误,不用一条条检查。
数据验证是提高录入效率的核心技巧。如果你想了解 WPS 的基础功能,可以先看 WPS Office 2026 对比评测。关于更多 WPS 修复技巧,可以在 WPS修复教程站 找到完整列表,包括 表格公式不计算修复方法。。遇到文件损坏问题,参考 WPS 文件乱码修复。想看更多表格技巧,表格数据录入技巧与修复方法 有完整分类。遇到其他表格问题,可以看 WPS 表格公式速查。

WPS表格数据验证是什么?能帮你解决什么问题?
数据验证(部分 WPS 版本叫”有效性”)是 WPS 表格内置的一个功能,可以预先设定单元格的输入规则。不符合规则的数据要么直接无法输入,要么弹出警告提示。
能解决的实际问题:
→ 下拉菜单选择性别/部门/等级,不用手打 → 限制某个单元格只能输入 1 到 100 的数字 → 限制日期范围(比如排班表只能选当月日期) → 禁止输入重复值(防止填重复的工号或订单号) → 做二级联动下拉菜单(选省份后自动出现对应城市)
这个功能在 Excel 里叫”数据验证”,操作逻辑完全一样。如果你习惯用 Excel,这套方法直接通用。关于 WPS 和 Excel 的更多对比,可以看 WPS 表格公式大全速查表。
创建下拉菜单:最常用的数据验证
下拉菜单是最实用的数据验证类型,适合性别、部门、等级这类选项固定的场景。
操作步骤:
→ 选中需要设置下拉菜单的单元格区域(比如 B2:B100)
→ 点击顶部菜单栏的”数据”选项卡
→ 点击”有效性”按钮(部分版本显示为”数据验证”)
→ 在弹出的对话框中,“允许”选择”序列”
→ 在”来源”框中输入选项,用英文逗号分隔:男,女(2个选项秒选,比手打快至少 80%)
→ 勾选”提供下拉箭头”
→ 点击”确定”
提示:来源也可以引用单元格区域。比如把选项写在另一张工作表的 E1:E10,来源框输入 =Sheet2!$E$1:$E$10。这样修改选项时不用改设置,改单元格内容就行。

限制输入类型:数字、日期、文本长度
除了下拉菜单,数据验证还可以限制输入的数据类型。
限制数字范围:
→ 选中单元格区域 → “数据” → “有效性”
→ “允许”选”整数”或”小数”
→ “数据”选”介于”,输入最小值 0 和最大值 100
→ 这样单元格只能输入 0 到 100 之间的数字(超出范围的直接拦截)
这个功能适合评分表(1-10分,共 10 个档位)、折扣率(0-100%,精确到小数点后 1 位)、年龄范围(18-65岁)等场景。
限制日期范围:
→ “允许”选”日期”,“数据”选”介于”
→ 输入开始日期 2026-01-01 和结束日期 2026-12-31
→ 这样只能输入 2026 年的日期
适合项目排班表、考勤记录、合同到期日等场景。
限制文本长度:
→ “允许”选”文本长度”,“数据”选”等于”
→ 输入长度 11(手机号11位)
→ “出错警告”可以自定义提示文字:请输入11位手机号码
适合身份证号(18位)、手机号(11位,精确到个位)、邮编(6位,纯数字)等场景。
自定义公式:禁止重复值和身份证号校验
自定义公式是数据验证最强大的功能,可以实现几乎所有你能想到的校验规则。
禁止输入重复值:
→ 选中 A2:A100 → “数据” → “有效性”
→ “允许”选”自定义”
→ 公式输入:=COUNTIF($A$2:$A$100,A2)<=1(对 99 行数据去重)
→ “出错警告”标签选”停止”,标题输入”重复值”,内容输入”该值已存在,不允许重复输入”
→ 确定后,重复输入会直接被拦截
这个在工号、订单号、学号录入时特别好用,不用事后去重。
身份证号校验(18位纯数字+X):
→ 公式输入:=AND(LEN(A2)=18,OR(ISNUMBER(VALUE(LEFT(A2,17))),RIGHT(A2,1)="X"))
→ 这个公式校验:长度必须是18位,前17位是数字,最后一位可以是数字或X
WPS 的数据验证和 WPS 条件格式 搭配使用效果更好——数据验证负责拦截输入,条件格式负责标记已有的问题数据。

二级联动下拉菜单(INDIRECT函数)
二级联动是进阶玩法:选了”省份”之后,“城市”下拉框自动显示该省份对应的城市列表。
准备工作:
→ 在 Sheet2 的 A 列写省份名(A1:广东省, A2:浙江省, A3:江苏省) → 选中省份名区域,按 Ctrl+Shift+F3 创建名称(以每列首行为名称) → B1:B3 写广东省的城市(3-5个主要城市),C1:C3 写浙江省的城市,D1:D3 写江苏省的城市 → 分别选中 B 列、C 列、D 列的数据区域,用 Ctrl+Shift+F3 以列首行(省份名)命名
设置一级下拉菜单(省份):
→ 选中 A 列目标区域 → “数据” → “有效性”
→ “允许”选”序列”,来源输入 =广东省,浙江省,江苏省
设置二级下拉菜单(城市):
→ 选中 B 列目标区域 → “数据” → “有效性”
→ “允许”选”序列”,来源输入 =INDIRECT(A2)
→ 这里的 A2 是对应的省份单元格,INDIRECT 会根据 A2 的值动态引用对应名称的城市列表
这样当你选了”广东省”,城市下拉框就只显示广东省的城市。联动效果的实现靠的是 INDIRECT 函数将单元格文字转化为区域引用。更多函数技巧可以看 WPS 表格公式大全速查表。