Excel 怎么设置数据验证
多人填的表格总在同一个格子上出错,日期变文本、数量写大概。这篇讲数据验证在哪设、下拉清单怎么建,以及让规则失效的几个坑。
一张多人填写的表格,最容易坏在同一个格子上:日期填成文本、数量填成大概、部门名多打一个字。数据验证就是把这类输入提前挡住,让单元格只接受符合规则的内容。这篇讲入口在哪、下拉清单怎么建、几个让验证悄悄失效的坑,以及怎么检查已经有问题的历史数据。
入口在哪
先选中要限制的单元格或区域,再在「数据」选项卡里找「数据验证」,部分旧版本叫「数据有效性」,功能是同一个。点开是个对话框,三个页签:设置管规则,输入信息管点中格子时显示的提示,出错警告管填错时的反应。
注意顺序是「先选中区域再设」,不是设完再选。规则只作用在选中的格子上,之后新增的行不在范围内,这也是最常见的明明设了却不管用。
具体步骤
- 选中区域。整列选中也行,但会连标题行一起管住,建议避开第一行。
- 在设置页里选允许的类型:序列做下拉清单,整数和小数做数值范围,日期做时间区间,文本长度限制字数,自定义则用公式写更复杂的条件。
- 做下拉清单时最稳的做法是先把选项写在一列里,来源直接引用那一列区域;临时用可以在来源里直接打选项,用英文逗号分隔。
- 切到出错警告,样式选「停止」,标题和说明写人话,比如部门名请从下拉里选。选「警告」或「信息」时,用户还能强行填进去。
- 在输入信息里写一句提示,点中格子就显示,比事后报错友好。
- 要把规则复制到别的列,复制已设好的单元格,选中目标区域,用选择性粘贴里的「验证」。
几个坑
- 直接粘贴会绕过验证。从别处复制内容粘进来不触发校验,这是设计如此。要么粘完再检查,要么把工作表保护起来,只留可填的格子。
- 选项区域里有空行,下拉里就出现空白项。引用区域要用连续的非空区域,别把整列都框进去。
- 数字被存成文本。验证按数值比较,文本格式的数字会被判成非法输入,先统一格式再设规则。
- 选项里有重名或多余空格,看起来一样的两项其实是两个值,后面汇总就对不上。
- 只给一个格子设了规则。同列其它行没设,填起来照样乱,等于白做。
怎么验证
手动试三种输入:合规的、边界值的、明显违规的,看是否按预期放行和拦截。然后点数据验证里的「圈释无效数据」,它会把已经存在但不符合规则的历史数据圈出来,这是检查旧表格最快的方法,再点一次就取消圈释。
最后随机挑几行,把格子里内容复制到记事本看有没有隐藏空格,粘出去再粘回来,确认规则还在。
常见问题
怎么做二级联动下拉
两级清单:第一级用普通序列,第二级用 INDIRECT 函数,引用第一级选中的名字。前提是把每个选项组都定义成名称,名称里不能有空格和特殊符号,否则 INDIRECT 认不出来。选项增删后记得同步改名称范围。
已有的表格能补规则吗
可以,但补规则不会自动修正已有数据。先用圈释无效数据把不合规的格子列出来,人工改完再补验证,否则规则只是挂着好看。
下拉箭头为什么不显示
最常见是选错区域或规则没保存;其次是单元格还在编辑状态,点一下别的格子再回来就出现了。也有可能是来源引用的是一个空区域,程序当成没有选项。
一句话总结:数据验证要先选区域再设规则,选项写在一列里引用最稳,出错警告选「停止」才拦得住,最后用圈释无效数据检查历史数据。