EXCEL中用VAB实现取特定长度字符查找匹配的功能

取A列的型号的前7位字符与B列中的标准值进行匹配,如果匹配成功,则输出B列对应的C列的值。其中B列例如B10,前6位必须一致,第7位可以随意,所以可以用问号表示么?... 取A列的型号的前7位字符与B列中的标准值进行匹配,如果匹配成功,则输出B列对应的C列的值。其中B列例如B10,前6位必须一致,第7位可以随意,所以可以用问号表示么? 展开
 我来答
侯玉川
科技发烧友

2019-12-25 · 教育领域创作者
个人认证用户
侯玉川
采纳数:2041 获赞数:3571

向TA提问 私信TA
展开全部
公式也可以的。可以用VLOOKUP使用通配符。通配符用在公式里。
如果要用VBA,对应的有字符串长度的话可以直接用left来结局。没有必要用通配符。
不特定的话,可以使用VBA函数instr来查找位置,如果能正常返回非零值则说明存在。
instr的功能与工作表函数find类似,但有区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2019-11-01 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
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就是结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
222偶记军
2019-11-01
知道答主
回答量:1
采纳率:0%
帮助的人:686
展开全部

=LEFT(A2,6) 提取前六位从新制作表格,=VLOOKUP(C3,A:B,2,FALSE)进行查找就好了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
眯住眼串针
科技发烧友

2019-12-25 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3092万
展开全部
不要问号
D2
=VLOOKUP(LOOKUP(1,0/FIND(B$2:B$11,A2),B$2:B$11),B:C,2,)
下拉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一口锡矿aX
2019-10-17 · 贡献了超过408个回答
知道答主
回答量:408
采纳率:5%
帮助的人:35.4万
展开全部
只用前6位就好了吧
追问
前6位不行。不够用,需要前7位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式