Excel单元格两类自定义数据验证规则配置问题咨询
Excel数据验证规则配置问题解答
问题1:首字符需为大小写不敏感的A-Z字母的校验规则
你之前使用的=ISTEXT(LEFT(B10,1))无法达到预期的原因是:该公式仅判断首字符是否为文本格式,数字、特殊符号转为文本格式后也会通过校验,无法限制为A-Z范围内的字母。
正确的自定义验证公式如下,注意将公式中的A1替换为你要应用验证规则的首个单元格(使用相对引用,应用到整列时会自动适配):
=AND(CODE(UPPER(LEFT(A1,1)))>=65,CODE(UPPER(LEFT(A1,1)))<=90)
如果需要允许单元格为空,调整为:
=OR(ISBLANK(A1),AND(CODE(UPPER(LEFT(A1,1)))>=65,CODE(UPPER(LEFT(A1,1)))<=90))
公式各部分作用:
UPPER(LEFT(A1,1)):提取单元格首字符并转为大写,自动忽略大小写差异CODE():将字符转为对应的ASCII码,大写A的ASCII码为65,大写Z为90,判断值在该区间即可限定首字符为A-Z范围内的字母
问题2:仅允许输入数字的验证规则
你目前使用的=ISNUMBER(J1)是可行的,该公式可以严格限制单元格仅能输入数值类型的数字,文本型数字(比如输入带前缀单引号的数字)会被拦截,符合绝大多数场景的需求。
如果你的业务场景需要允许文本型数字输入,可以调整公式为:
=ISNUMBER(--J1)
如果需要额外增加数字范围限制,比如仅允许正整数,可叠加条件:
=AND(ISNUMBER(J1),J1>0,INT(J1)=J1)
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

