EXCEL中用VAB实现取特定长度字符查找匹配的功能
取A列的型号的前7位字符与B列中的标准值进行匹配,如果匹配成功,则输出B列对应的C列的值。其中B列例如B10,前6位必须一致,第7位可以随意,所以可以用问号表示么?...
取A列的型号的前7位字符与B列中的标准值进行匹配,如果匹配成功,则输出B列对应的C列的值。其中B列例如B10,前6位必须一致,第7位可以随意,所以可以用问号表示么?
展开
6个回答
展开全部
公式也可以的。可以用VLOOKUP使用通配符。通配符用在公式里。
如果要用VBA,对应的有字符串长度的话可以直接用left来结局。没有必要用通配符。
不特定的话,可以使用VBA函数instr来查找位置,如果能正常返回非零值则说明存在。
instr的功能与工作表函数find类似,但有区别。
如果要用VBA,对应的有字符串长度的话可以直接用left来结局。没有必要用通配符。
不特定的话,可以使用VBA函数instr来查找位置,如果能正常返回非零值则说明存在。
instr的功能与工作表函数find类似,但有区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VBA处理不需要问号,而是判断前面部分是否相同即可,例如:
x=range("a2")
y=0
for i=2 to 11
t=cells(i,"B")
if t=left(x,len(t)) then y= cells(i,"C")
next i
'y就是结果
x=range("a2")
y=0
for i=2 to 11
t=cells(i,"B")
if t=left(x,len(t)) then y= cells(i,"C")
next i
'y就是结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=LEFT(A2,6) 提取前六位从新制作表格,=VLOOKUP(C3,A:B,2,FALSE)进行查找就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要问号
D2
=VLOOKUP(LOOKUP(1,0/FIND(B$2:B$11,A2),B$2:B$11),B:C,2,)
下拉
D2
=VLOOKUP(LOOKUP(1,0/FIND(B$2:B$11,A2),B$2:B$11),B:C,2,)
下拉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只用前6位就好了吧
追问
前6位不行。不够用,需要前7位。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询