数据有效性(也叫数据验证)是我们使用频率最多的一个功能,比如下拉菜单的制作、限制性输入等,那你真的会用数据有效性吗?本期通过6个经典案例与大家分享一下数据有效性的用法。
一、选中单元格时,出现提示信息,引导用户输入
使用数据验证,给单元格添加提示信息,可以用来告诉或引导用户输入的数据内容:
①选择单元格区域;②菜单选择“数据验证”;③面板中,选择“输入信息”标签,勾选“显示输入信息”选项,设置标题栏和输入信息栏的内容,确定;④这样,在选中单元格时,Excel就会弹出提示信息内容。
二、多个下拉选项如何设置
【性别】只分男和女;但是【学历】却有很多种!例如:本科、专科、硕士等!一个一个输入就太麻烦了,那么如何设置多个下拉选项呢?
首先,选中【学历】列,单击工具栏【下拉列表】按钮;
然后,勾选【从单元格选择下拉选项】,用鼠标单击:右侧按钮;
用鼠标框选:D2:D4单元格,结束确认;即可为下拉选项:添加所有学历!
Excel下拉选择项怎么设置
【下拉列表】适用于:下拉选项比较多的情况,可以提升我们的工作效率!
三、达到某个条件才能输入数据
如图3所示,要求B列配偶为“有”时,才能在C列输入对应的配偶姓名,否则禁止录入。点击菜单栏数据——有效性,会弹出数据有效性对话框,在允许里面选择自定义,公式里输入:=B24="有",点击确定即可。图4为显示效果。
图3
图4
四、禁止录入某段日期
以图6为例,要求拟定日期不准为周末,否则禁止录入。首先选中B30:B33,点击菜单栏数据——有效性,会弹出数据有效性对话框,在允许里面选择自定义,公式里输入:=WEEKDAY(B30,2)<=5,或者:=WEEKDAY(B30,2)<6,最后点击确定即可。WEEKDAY函数返回1-7数字表示的星期,6、7两个数字为星期六星期天,WEEKDAY(B30,2)<=5即为小于周末的星期日期。
五、自动更新下拉选项
想通过下拉选项输入部门,并且可以通过在单元格里增减部门名称来调整选项中的内容。
技巧中用到的公式是=OFFSET(J1,1,,COUNTA(J:J)-1)
六、每行输入完成才能输入下一行
如下图,当在excel表格的A:D输入时,只有上一行的四列都输入数据,才能在下一行中输入内容;否则就无法输入并提示错误信息。
操作:
选取A2:D100(写D100是为了能保证所有数据行数被包括到其中,读者也可以依据实际数据来设置),用鼠标依次点击“数据”、“数据验证”、“允许”,选择“自定义”,在来源框中输入以下公式:“=COUNTA($A1:$D1)=4”。
公式说明:
COUNTA()函数可以统计非空单元格个数。$A1:$D1添加$是把范围固定在A:D列。
七、案例5:身份证号长度验证
设置身份证号长度的验证,你觉得要怎么下手比较好?
有经验的人会发现我们的身份证号有两个特点:
1、身份证位数(是否为15位或18位)
- 编码:ABCDEFYYYYMMDDXXXR
- 地址码(ABCDEF):表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
- 出生日期码(YYYYMMDD)
- 顺序码(XXX):顺序码的奇数分配给男性,偶数分配给女性。
- 4.校验码(R):一位数字。
- 15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
搭档函数:TEXT文本格式函数,MID中间截取函数,LEN文本长度函数,OR或函数,AND与函数。
这一串这么长的函数嵌套什么意思呢?我们来分解一下:
首先,我们来解决身份证位数问题,判断是否是15位还是18位。
在这里我们用OR(LEN(A1)=15,LEN(A1)=18),意思是要输入的数字必须满足15位或18位都可以,这个没问题吧?
其次,我们知道身份证号里包含了我们的出生日期,这个格式是否合理。在这里我们就要把身份证号中的出生日期提取出来,判断它的格式是否满足日期格式。由于身份证号有15位和18位,如果是15位的话,年份里是没有19的,所以我们要考虑到这一点。
我们用1*TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")来表示。
- 若LEN(A1)=15为真,即身份证号为15位,则(LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2)的运算=1*19&MID(A1,7,6+0*2)=1*19&MID(A1,7,6),MID(A1,7,6)表示从身份证号的第7位开始,截取6位,这6位的位置刚好是出生年月日的位置,由于15位的身份证号是没有19的,所以前面用&连接19。
- 若LEN(A1)=15为假,即身份证号为18位,则(LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2)的运算=0*19&MID(A1,7,6+1*2)=0*19&MID(A1,7,8),MID(A1,7,8)表示从身份证号的第7位开始,截取8位,这8位的位置刚好是出生年月日的位置。
- 最后使用TEXT函数把这8位数转换成日期格式 ,再用1*TEXT()强制转换成数值,这样才能判断真假,非0的数值都是返回TRUE。
补充:在数据有效性中使有公式,可以完成复杂的判断和输入限制。对于规范表格的数据输入非常有帮助
相关文章:
等侯通知是多久时间01-17
资产冻结多久自然解冻01-17
房子开盘前多久通知01-17
助学宝审核要多久01-17
交多久公积金退休能取01-17
出资期限最长可以多久01-17
稽查查案需要多久01-17
手机丢了报警多久来01-17