请教!Excel怎么又能限定输入的长度又能限定不重复?公式应该怎么写?是在数据有效性里面输入公式么?这个问题非常使用,尤其是在定制Excel模板的使用,解决方法不算太难,分享给大家! Office社区群的小伙伴的提问一直很给力,提出来的问题也非常专业。比如下午这位美女的提问,牛闪闪把她的问题写一遍:请教!Excel怎么又能限定输入的长度又能限定不重复?公式应该怎么写?是在数据有效性里面输入公式么?不知道这个问题大家能不能帮忙解答呢?牛闪闪也一起来研究一下。场景:公司HR,行政等需要对单元格录入进行控制的或设计Excel模板的办公人士。问题:如何控制单元格只能输入规定长度和防止重复录入?实际上这个问题涉及二个问题,一是控制录入的长度,二是控制不允许重复录入。选中下图中手机号码所在的区域,然后点击“数据—数据验证”(2013版本以下称之为数据有效性)在新弹窗口中,选择“允许—文本长度—等于—11 ”如下图2 处。因为手机号必须是11位数允许录入进去。点击确定按钮即搞定。但这样显示报错太不人性化了。所以改进一下,在之前数据有效性的设置界面里,切换置“出错警告”(下图3 处)。写上出错警告信息即可。(下图 4 处)搞定了位数控制后,接着来设置重复录入的限制。还是选中对应的手机号码区域,点击“数据有效性”进入。(下图5 处)进去后发现糟糕,这不是之前设置过的限制11位录入的设置吗?难道修改11位录入的限制?也就说数据有效性不能像Excel的条件格式一样可以在同一数据区域设置多个条件格式。也就说数据有效性在一个区域只能设置一次。这就麻烦了,如何能保证这样双重的数据有效性呢?所以改变思路,双重数据有效性必须要利用公式。首先牛闪闪将设置可以搞定位数控制,用公式来代替。具体方法如下:在“数据验证”设置界面,选择允许“自定义—等于”,在公式中输入 =LEN(E4)=11公式很容易理解,len为单元格长度函数,判断起始单元格E4单元的长度,只有等于11才允许录入。否者报错。(下图 6 处)好!大家先把这个公式给记下来放在一边,接着再用公式解决的思路,解决重复的问题。利用countif函数判断手机号码所在的区域的数值,如果每个手机号在该区域的号码个数只有一个,则允许录入。=COUNTIF($E$4:$E$23,E4)=1判断每个录入的手机号在该区域的个数只有一个,才允许录入。(下图 7 处)测试一下!果然可以,顺道把出错警告加一句,且唯一。从前面的讲解中,大家可以了解到,用len函数解决11位限制录入。用countif函数解决限制重复录入。但这两个条件都要满足怎么办?所以and函数出场。把前面两个函数用and函数合并一下。公式的位置可以写成这样:=AND(LEN(E4)=11,COUNTIF($E$4:$E$23,E4)=1)满足当单元格位数等于11位,且不重复,才允许录入。(下图 8 处)总结:公式数据有效性与公式条件格式一样,都是工作中非常实用的办公技巧,也算比较进阶的Excel技巧。大家平时一定要学会多积累Excel函数与数据有效性和条件格式的搭配使用。 |