我正在研究一个从VIN数字中计算校验数字的公式;17个字母数字字符,每个字符都有自己的值(数字有自己的值,字母被指定为1到9之间的值)。不幸的是,使用MID
单独提取字符作为文本提取数字,给出了VLOOKUP
中的一个错误。
我最初尝试只使用MID([@[VIN / Cargo ID]]; 1;1)
(增加字符串中每个字符的开始号),只要目标字符是一个字母,它就能正常工作。但是,如果是数字,则将其提取为文本,这将导致查找失败。
我尝试使用IF(ISNUMBER) ... NUMBERVALUE
组合将它们转换为数字值,并尝试将匹配列存储在查找表中的文本中,但没有成功。
我目前的尝试是基于以下几点:
=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的具体构造不是问题;问题是从任何字母数字文本字符串中提取数字。
发布于 2019-07-03 03:00:55
由于VIN的结构是固定的(通常为17个字母数字字符),您可以使用MID()按位置获取所需的字符,请参见:
当MID()输出文本时,您将注意到我乘以1,以确保它是一个数字。
我刚选了两个角色,从第六位开始,但你可以改变.
https://stackoverflow.com/questions/56868179
复制相似问题