excel里查找第一个表A列里的文字是否包含另一个表中对应A列内容,并返回对应的B列内容??

例如:
第一张表 a1为 江苏省南京市
a2为 江苏省苏州市
第二张表 a1为 苏州 b1为 221000
a1为 南京 b1为 210000
a1为 上海 b1为 200000

最后的结果是第一张表内容为:
a1为 江苏省南京市 b1 210000
a2为 江苏省苏州市 b2 221000

第1个回答  2012-02-02
假设第2张表的名称为Sheet2,那么在第1张表的B1单元格输入:=VLOOKUP(MID(A1,4,2),Sheet2!$D$1:$E$3,2,FALSE)
然后下拉即可。。。追问

那如果 第一张表是A列格式是不固定的 如a1为 江苏南京市
a2为 江苏省苏州市 又该怎么处理呢?

追答

只要最后3个字有**市。。那么就可以用以下的公式。。。
=VLOOKUP(MID(A1,LEN(A1)-2,2),Sheet2!$D$1:$E$3,2,FALSE)

第2个回答  2012-02-09
设定第一表的表名为“表1”,第二表的表名为“表2”,在B1输入=INDEX(表2!B:B,SUMPRODUCT(COUNTIF(A1,"*"&OFFSET(表2!$A$1,,,COUNTA(表2!$A:$A))&"*")*ROW(INDIRECT("1:"&COUNTA(表2!$A:$A))))),下拉填充至你需要的行数。
祝你成功! 显示的结果为:
A列 B列
江苏南京中山北路230号 210000
江苏省苏州三香路17-1 221000
上海市黄浦区山东中路20号102室 200000
苏州市沧浪区人民路211号 221000
第3个回答  2012-02-02
如果都是你说的类似数据,参考把以下公式修改后输入B1中
=VLOOKUP(MID(A1,FIND("省",A1)+1,FIND("市",A1)-FIND("省",A1)-1),Sheet2!A:B,2,0)

其中SHEET2为第2张表。追问

那如果 第一张表A列格式是不固定的 如a1为 江苏南京市
a2为 江苏省苏州市
a3为 上海市
又该怎么处理呢?

第4个回答  2012-02-06
用宏吧,函数如下
Sub 检索()
表1行数 = Sheet1.[A65536].End(xlUp).Row
表2行数 = Sheet2.[A65536].End(xlUp).Row
For i = 1 To 表2行数
For m = 1 To 表1行数
检索内容 = Sheet2.Cells(i, 1).Text
检索范围 = Sheet1.Cells(m, 1).Text
If InStr(检索范围, 检索内容) > 1 Then
Sheet1.Cells(m, 2).Value = Sheet2.Cells(i, 2).Value
End If
Next
Next
End Sub本回答被提问者采纳
第5个回答  2012-02-02
文件是按顺序的吗?如果是的话就只见剪切,,如果不是的话,排序先追问

不是这个意思,如果2张表的A列字段完全一致的话,我可以用VLOOKUP()函数来实现,这个2张表的A列不一致,只是包含关系的就不知道怎么处理了,望高手解答!!提问中有错改下:
第二张表 a1为 苏州 b1为 221000
a2为 南京 b2为 210000
a3为 上海 b3为 200000

追答

你是说,你想把,苏州 改为江苏省苏州市。是吗? 可以用ctrl+f 里面有一个替换

相似回答