我正在研究根据VIN编号计算校验位的公式; 17个字母数字字符,每个字符都有自己的值(数字有其自己的值,字母被指定为1到9之间的值)。不幸的是,使用MID
分别提取字符会提取数字作为文本,给我VLOOKUP
带来了错误。
最初,我尝试仅使用MID([@[VIN / Cargo ID]]; 1;1)
(增加字符串中每个字符的起始编号),只要目标字符是字母,它就可以正常工作。但是,如果是数字,则会将其提取为文本,从而导致查找失败。
我尝试使用IF(ISNUMBER) ... NUMBERVALUE
组合将它们转换为数值,并且尝试将match列存储为文本形式的查找表,但没有成功。
我当前的尝试基于此:
=IF(ISNUMBER(MID([@[VIN / Cargo ID]]; 1;1)); NUMBERVALUE(MID([@[VIN / Cargo ID]]; 1;1)); VLOOKUP(MID([@[VIN / Cargo ID]]; 1;1); VIN_charval; 2; FALSE))
输入#N/A
也不起作用。任何人有什么想法可以帮忙吗?
为清楚起见,VIN的具体结构不是问题;问题特别在于从任何字母数字文本字符串中提取数字。