大家会用excel来做数据验证吗?最简单的例子可以参见下图,在填写信息时,excel只允许我们输入下拉列表中有的数据。如果我们录入其他数据,excel会弹窗报错。这个功能常见于用于限制用户输入数据的范围,保证收集回来的数据有效性。那么,这个数据验证是怎么设置的呢?里面又有什么大坑让人又爱又恨呢?
我们先来看看如何设置对单元格或者区域进行数据验证。
第一步,选择需要做数据验证的区域,例如我们这里直接把C列选上
第二步,找到数据验证功能,点击打开。
第三步,在数验证功能上,参照下图设置,验证条件,允许选序列,数据固定为介于,来源选S列,点击确定,我们在S列输入定义了水果的名称。
这样子实现的功能是,用户在C列输入的数值,一定要是在S列中有的水果。不能是其他数据。
同时,在C列的单元格右下角,我们也会看到一个下拉选框,点击下拉选框,我们看到可选值也恰好就是S列中有的值。
以上这个是一个用来说明什么是数据验证的例子。
其实数据验证除了定义输入枚举值是啥外,还有很多其他的用法。
我们可以看看,上图“允许”这个下拉框里面还有那些参数可以用。
大家打开可以看到,里面有8个值,分别是:任何值、整数、小数、序列、日期、时间、文本长度、自定义。下面分别阐述如下
任何值:
是指单元格不做数据验证,所有值都可以输入
整数
是指输入值只能是整数,且数据要符合接下来的数据约束,包括了介于,未介于,等于,不等于,大于,大于等于,小于,小于等于等几类判断
小数
是指输入值只能是小数,且数据要符合接下来的数据约束,包括了介于,未介于,等于,不等于,大于,大于等于,小于,小于等于等几类判断
序列
如示例所说,是指输入的值需要在指定的序列集合中,也可以认为是枚举值集合。
日期
输入值是日期,且日期满足接下来的约束,包括了介于,未介于,等于,不等于,大于,大于等于,小于,小于等于等几类判断
时间
输入值是日期,且日期满足接下来的约束,包括了介于,未介于,等于,不等于,大于,大于等于,小于,小于等于等几类判断
文本长度
判断输入值的长度,文本长度需要满足接下来的约束,包括了介于,未介于,等于,不等于,大于,大于等于,小于,小于等于等几类判断
自定义
允许自由输入公式,进行独特的数据验证
虽然数据验证可以有效避免用户填表时候填了一些我们不希望的数据进来。但是他也有一个大bug,就是说,如果你复制单元格,粘贴到有数据验证的单元格,会直接破坏这个单元格的数据验证,导致数据验证失效。
举个例子,正常在C4列尝试输入,南瓜,结果报错,不允许输入。
但是,如果我们先把南瓜输入一个没有数据验证的单元格,再复制这个单元格到有数据验证的C列中,是可以正常粘贴进去的。
这是因为复制的时候把单元格样式一并复制了,粘贴时直接替换了原来的样式数据验证等,所以不会报错。
这个是一个大坑。特别对需要跟其他收集数据的同学们。永远不知道下游伙伴会怎么把数据验证破坏。
这个问题也是我今天跟粉丝探讨的一个问题,具体怎么解决呢,且听下回分解