Excel Home
全球知名的Excel资源网站之一

数据验证,典型应用合集

以下图为例,要分别输入员工年龄、性别、部门和手机号。

因为员工年龄不会小于16岁,也不会大于60岁,因此输入员年龄的区间应该是16~60之间的整数。通过设置数据验证,可以限制输入的年龄范围。

性别只有男、女两个选项,制作一个下拉菜单,从下拉菜单中选择输入就可以。
设置允许条件为“序列”,在来源编辑框中依次输入用半角逗号隔开的候选项目,本例是:
男,女

如果要输入的选项比较多,直接输入候选项就不方便了,咱们可以把候选项依次输入到各个单元格里,然后将这个单元格区域设置成数据验证的序列来源。

通过限制输入的字符长度,能够对输入的手机号位数进行约束。

还可以利用数据验证来制作屏幕提示。

如果结合函数公式,数据验证功能就更牛了,假如要限制在E列输入重复的数据,可以设置数据验证规则为自定义,然后输入公式:
=COUNTIF(E:E,E2)=1

COUNTIF(E:E,E2)部分的作用使用统计E列中有多少个和E2相同的单元格,限制的条件就是和E2相同的只允许是一个。

对于已经输入的内容,也可以设置好数据验证规则,然后使用圈释无效数据功能,方便地查找出不符合要求的数据。

如果小伙伴们对函数公式比较熟悉,还能借助数据验证实现很多精彩的设置,比较典型的应用就是动态下拉菜单了:
如下图所示,要根据A列的对照表,在D列生成下拉菜单,要求能随着A列数据的增减,下拉菜单中的内容也会自动调整。

选中要输入内容的D2:D10单元格区域,数据→数据验证→序列,输入以下公式。
=OFFSET($A$2,0,0,COUNTA($A:$A)-1)

公式表示以A2作为基点,向下偏移0行,向右偏移0列,新引用的行数为COUNTA函数统计到的A列非空单元格个数,结果-1,是因为A1是表头,计数要去掉。
这样就是A列有多少个非空单元格,下拉菜单中就显示多少行。

再复杂一点,还能制作动态二级菜单。
如下图所示,A、B列是客户城市和县区的对照表,在D列已经生成一级下拉菜单,要求在E列生成二级下拉菜单,要求能随着D列所选不同的一级菜单,E列下拉菜单中的内容也会自动调整。

选中要输入内容的E2:E6单元格区域,数据→数据验证→序列,输入以下公式。
=OFFSET($B$1,MATCH($D2,$A$2:$A$16,0),0,COUNTIF($A:$A,$D2))

公式表示以B1为基点,以MATCH函数得到的城市首次出现的位置作为向下偏移的行数。
向右偏移的列数为0。
新引用的行数为COUNTIF($A:$A,$D2)的计算结果。
COUNTIF($A:$A,$D2)的作用是,根据D列以及菜单中的城市名在A列统计有多少个与之相同的城市个数。有多少个城市名,OFFSET函数就引用多少行。
使用数据验证功能,只能限制手工输入的内容,对于从其他地方复制过来的数据,那也傻眼,所以养成数据录入的好习惯,还是很有必要的。

赞(54)
未经允许不得转载:ExcelHome » 数据验证,典型应用合集
分享到: 更多 (0)

关于我们联系我们
本站特聘法律顾问:李志群律师   沪ICP备11019229号-2

沪公网安备 31011702000001号

征信