Excel ID格式校验:如何验证第2位与第10位字母字符
Excel公式校验特定格式ID
需求规则
待校验ID需满足以下全部条件:
- 总长度为10个字符
- 第1位为数字
- 第2位为字母(大小写均可)
- 第3至8位为数字
- 第9位为
/ - 第10位为字母(大小写均可)
示例:1A234567/B
修正后的完整校验公式
在你现有公式基础上,补充第1位数字校验、第2位和第10位字母校验的条件,完整公式如下:
=IF(AND( LEN(F2)=10, ISNUMBER(--MID(F2,1,1)), AND(CODE(UPPER(MID(F2,2,1)))>=65, CODE(UPPER(MID(F2,2,1)))<=90), ISNUMBER(--MID(F2,3,6)), MID(F2,9,1)="/", AND(CODE(UPPER(MID(F2,10,1)))>=65, CODE(UPPER(MID(F2,10,1)))<=90) ), "Valid", "Invalid")
关键新增部分解释
第1位数字校验:
ISNUMBER(--MID(F2,1,1))- 用
MID(F2,1,1)提取第1位字符,--将字符转换为数值,再通过ISNUMBER判断是否为有效数字。
- 用
第2/10位字母校验:
AND(CODE(UPPER(MID(F2,N,1)))>=65, CODE(UPPER(MID(F2,N,1)))<=90)(N为2或10)UPPER()将提取的字符统一转为大写,兼容大小写字母的校验需求;CODE()获取字符的ASCII码,大写字母A-Z的ASCII码范围是65-90,通过判断范围确认是否为字母。
验证示例
- 符合规则的ID:
1A234567/B→ 返回Valid - 不符合规则的ID:
12234567/B(第2位是数字)→ 返回Invalid - 不符合规则的ID:
1A234567C/(第9、10位顺序错误)→ 返回Invalid
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

