我有一个与旧零件号组合的零件号列表
所以例如PN1234/XMS1234
,XMS部件号是我需要的,字符串是不同的长度和不同的位置。
因此,我需要VLOOKUP来查找XMS部件号,并从具有正确部件号的其他电子表格中获取价格。
我现在通过使用文本到列来解决这个问题,但是在将来我认为这可以更快地解决。我尝试将MID和SEARCH以及LEN结合起来为我带来正确的零件编号长度,但没有一个是万无一失的。 我也试过
=vlookup(J2&"*",table array,index number,0)
但这并没有真正发现任何东西。
感谢您提前提供任何帮助。
编辑:澄清问题的其他信息。 因此,如果你喜欢第1张图片,我已经突出显示了我试图进行vlookup搜索的部件号列表,第2页是我希望vlookup提取零售成本的表数组。
我按照=VLOOKUP(MID(J3,SEARCH("X",J3),?),table,13,0)
的方式尝试了一个公式
但我无法弄清楚如何告诉MID公式需要返回多少个字符,因为如果xms部件号位于文本字符串的开头,那么如果我放了太多的文本字符串则会高数字。无论如何让MID停在/?
答案 0 :(得分:1)
这个怎么样:
=IF(LEFT(A1,3)="XMS",LEFT(A1,SEARCH("/",A1)-1),RIGHT(A1,LEN(A1)-SEARCH("XMS",A1)+1))
如果字符串以XMS开头,那么从开头到/ /得到字符如果字符串不是以XMS开头那么得到/
之后的字符因此PN1234/XMS1234
生成XMS1234
XMS1234/PN1234
生成XMS1234
您的数据还有其他格式吗?
答案 1 :(得分:0)
现在,由于上面给出的答案,并将其与公式ISNUMBER和SEARCH相结合,现在可以使用。
例如=IF(ISNUMBER(SEARCH("/",J2)),IF(J2="*/",J2,IF(LEFT(J2,3)="XMS",LEFT(J2,SEARCH("/",J2)-1),RIGHT(J2,LEN(J2)-SEARCH("XMS",J2)+1))),J2)
感谢所有帮助过的人。