在MES系统上线过程中,难免有很多的数据导入处理,客户这边有用到很多的Excel文档,
其中有一个典型就是客户的排程是根据品名来排,但是在使用排程资料时,我们需要使用到料号信息。
客户这边负责排程的小姐姐都是Excel的高手,使用了Excel的函数,VLOOKUP来处理,具体的函数示意可参见BaiDubu。
这里主要说明2点,Excel是微软出品,果然跟Sql一个模式,在查询时“*”表示通配符,好巧不巧的是,客户的品名里面由很多的*存在,
例如:A07T10*5*2.3Y 等,这样如果单纯的不注意到这点,匹配起来就会拉到错误的料号资讯,导致导入到系统里面的数据存在异常,
无法顺利排程。
左思右考,无其他解决方案,只能自己动手来研究一下。
毕竟自己也是搞开发的,动动手还是很有希望解决的,那么就先观察问题,确定了BUG的罪魁祸首:通配符*
那么接下来就是对公式进行调整了,所以有了以下修正
=VLOOKUP(SUBSTITUTE(E6,"*","~*"),成型料號!A:B,2,FALSE)
大致的意思就是 对查询项的* 替换为~* 函数为:SUBSTITUTE(列,要替换的旧字符,替换为新的结果) ,准确*匹配
然后有个特意说明,高人指点,成型料號!A:B 表示查询资料库的哪些列, 后面的2表示取对应结果的第几列作为返回值, False表示全字符匹配
这样旧打完收工了。
非常完美的解决了一个压抑了几周的问题!