继续介绍数据验证的经典应用。
6 自定义数据验证
很多情况下的数据验证,是需要我们自己来制定条件,此时就需要使用自定义条件下的数据验证了。例如,不能输入重复数据,那么请问:何为不重复?怎么才知道不重复?这个需要使用函数来统计,并进行逻辑判断了。
在数据验证对话框中,选择“自定义”,就会出现“公式”输入框,然后根据实际需要,输入规则公式,即可完成数据验证设置。
自定义规则公式的计算结果必须是逻辑值(TRUE或FALSE),因此公式中要使用条件表达式,或者使用信息函数,或者使用逻辑函数,并建立公式进行计算。
1 控制不能输入重复数据
例如,在表单A列从第2行开始,不能输入重复数据,就可以设置如下的数据验证:
选择单元格区域A2:A100;
在“条件”下拉表中选择“自定义”;
在“公式”输入框里输入公式:=COUNTIF($A$2:A2,A2)=1

2 只能输入18位不重复的身份证号码
上面的例子还是比较简单的,因为仅仅是限制了不能输入重复数据。如果再加一个条件,例如,在D列只能输入18位不重复的身份证号码?此时,数据验证设置如下:
选择单元格区域D2:D100;
在“条件”下拉表选择“自定义”;
在“公式”输入框里输入下面的公式:
=AND(COUNTIF($D$2:D2,D2)=1,LEN(D2)=18)

3 上一行单元格全部输入数据后才能在下一行输入新数据
大多数的表单中,作为一个完整的数据记录清单,每一条记录的信息都应该完整,因此在输入数据时就要保证每行的每个单元格都输入了数据。如果在某行的单元格没有输全数据,那么在下一行就不能开始输入新的数据,除非上一行的所有单元格都输入了数据。利用数据验证,很容易就可以实现这个目的。
假设数据清单区域是A列至F列,并要求必须在上一行单元格都输入数据后才能在下一行输入数据,则设置数据验证的具体步骤如下:
选择A列至F列的单元格区域A2:F100;
在“允许”下拉列表中选择“自定义”;
在“来源”栏中输入下面的公式:=COUNTA($A2:$F2)=6
这个公式不难理解:当在本行的某个单元格输入数据时,都会对上一行A列至F列的单元格利用函数COUNTA来统计不为空的单元格个数。如果上一行A列至H列的不为空的单元格个数恰好等于6,就表明上一行所有单元格都输入了数据,那么就可以在下一行开始输入新的纪录数据,否则就被禁止。

这样,如果在某行没有输全数据,那么就不能在下一行输入新的纪录数据,如下图所示。

--------------
总结:
数据验证是设计表单的一个重要工具,其应用并不复杂,但很多人应用的还是不熟练。本系列文章主要是为Excel小白而写,希望小白们能够将这个工具利用起来,提升数据管理效率。

(本系列讲座完。下周,将开始一个新的系列讲座,敬请关注。)

历史文章目录:
---------------
跟老韩学Excel系列之2:你是否把Excel当成了Word来用(一)?
跟老韩学Excel系列之3:一个工作表中大量的重复结构表格最要命!
跟老韩学Excel系列之4:按照Word的习惯管理数据,会死的很惨!
跟老韩学Excel系列之5:迈好你的第一步,不要走入旁门左道(1)
跟老韩学Excel系列之5:迈好你的第一步,表单设计基本技能(1)
跟老韩学Excel系列之6:迈好你的第一步,表单设计基本技能(2)
跟老韩学Excel系列之7:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(a)
跟老韩学Excel系列之8:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(b)
跟老韩学Excel系列之9:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(c)
跟老韩学Excel系列之10:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(d)
跟老韩学Excel系列之11:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(e)
跟老韩学Excel系列之12:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(f)--制作三级下拉菜单
跟老韩学Excel系列之12:迈好你的第一步,表单设计基本技能(3)--用好数据验证工具(g)--制作关键词下拉菜单

