excel里如何实现第一个表格A列文字对第二个表格A列所有内容查找包含关系,如包含则返回对应B列内容??

例如:
第一张表 a1为 江苏南京中山北路230号
a2为 江苏省苏州三香路17-1
a3为 上海市黄浦区山东中路20号102室
a4为 苏州市沧浪区人民路211号
第二张表 a1为 苏州 b1为 221000
a2为 南京 b2为 210000
a3为 上海 b3为 200000
a4为 北京 b4为 100000

如第一张表的A1,在第二张表的A1-A4中查找(A1-A4设为无重复的),结果在第二张表的A2中存在包含关系,并返回B2对应邮编210000。
以此类推。。。
最后关联的结果是第一张表内容为:
a1为 江苏南京中山北路230号 b1 210000
a2为 江苏省苏州三香路17-1 b2 221000
a3为 上海市黄浦区山东中路20号102室 b3 200000
a4为 苏州市沧浪区人民路211号 b4 221000

请高手指导下哈!!

这个问题好解决的。设定第一表的表名为“表1”,第二表的表名为“表2”,在B1输入=INDEX(表2!$A$1:$B$3000,MATCH(MID($A1,MIN(IF(ISERROR(FIND({"北京","南京","苏州","上海"},$A1)),4^8,FIND({"北京","南京","苏州","上海"},$A1))),2),表2!$A$1:$A$3000,0),2),下拉填充至你需要的行数。
如还有新的城市名要加入,可以在两个FIND函数条件参数里面添加。不过在空行里B列会出现#N/A,比较难看,可输入=IF(A1>10,INDEX(表2!$A$1:$B$3000,MATCH(MID($A1,MIN(IF(ISERROR(FIND({"北京","南京","苏州","上海"},$A1)),4^8,FIND({"北京","南京","苏州","上海"},$A1))),2),表2!$A$1:$A$3000,0),2),""),这样没有数据的行为空,显得干净。祝你成功! 显示的结果为:
A列 B列
江苏南京中山北路230号 210000
江苏省苏州三香路17-1 221000
上海市黄浦区山东中路20号102室 200000
苏州市沧浪区人民路211号 221000
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-03
=IF(ISNUMBER(SEARCH(Sheet2!$A$1,A1,1))=TRUE,Sheet2!$B$1,IF(ISNUMBER(SEARCH(Sheet2!$A$2,A1,1))=TRUE,Sheet2!$B$2,IF(ISNUMBER(SEARCH(Sheet2!$A$3,A1,1))=TRUE,Sheet2!$B$3,IF(ISNUMBER(SEARCH(Sheet2!$A$4,A1,1))=TRUE,Sheet2!$B$4,0))))
因本人是菜鸟,所以写出来的东西比较繁琐,但符合你的要求。希望有高手进行指导改进,非常感谢!追问

再请教下,如果2个表格都有几百几千行的话,该怎么处理,谢谢。

追答

我能想出来的就是这样了,水平有限,你看我写的函数,就是傻瓜式的拿第二张表里的一个一个去查找对比的,我只能说如果不止4个,还有第5个、第6个等等的话就照着继续添加了 - -# 汗,我个人认为基于函数的话我就只能做到这样的了,至于用VB什么的我就不会了。。

第2个回答  2012-02-03
我也想做这样一个邮编自动填入的表,邮编是全国的.可惜我们填入的地址难以实现标准化,有人喜欢连省名带地名,有人喜欢加"省市县区"不统一,所以一直没认真去做出来,感觉难以完成.追问

呵呵,经常用到的,一直没好的办法,感觉太不方便了。

追答

怕是没人会做的出来,除非地址格式能固定

第3个回答  2012-02-03
用VLOOKUP追问

VLOOKUP只能查找相同内容的,这种包含关系的貌似不可以。

追答

=IF(FIND(Sheet2!A1,Sheet1!A1),Sheet2!B1,"")

追问

测了下,抓不出来啊,谢谢

追答

=INDEX(Sheet2!B:B,SUMPRODUCT(COUNTIF(A1,"*"&Sheet2!$A$1:$A$4&"*")*ROW($1:$4)))

用这个公式吧,我重新修改的:=IF(A2="","",INDEX(Sheet2!B:B,MATCH(1,COUNTIF(A2,"*"&Sheet2!$A$1:$A$100&"*"),0))) 数组公式,输完公式后按数组键结束!

本回答被提问者采纳
第4个回答  2012-02-03
你的地址就只能这么乱吗?

excel里如何实现第一个表格A列文字对第二个表格A列所有内容查找包含关 ...
$A$1:$A$3000,0),2),下拉填充至你需要的行数。如还有新的城市名要加入,可以在两个FIND函数条件参数里面添加。不过在空行里B列会出现#N\/A,比较难看,可输入=IF(A1>10,INDEX(表2!$A$1:$B$3000,MATCH(MID($A1,MIN(IF(ISERROR(FIND({"北京","南京","苏州","上海"},$A1)),4^8,...

excel如何根据一个表格里面的内容筛选另外一个表格里面的内容呢?
第一步,将需要检索的学生“姓名”列置于“子表”工作表的首列;第二步,在“总表”工作表的姓名列(B列)后插入一空列(C列),用于显示检索结果,如检索到数据就显示该学生的姓名;第三步,在C2单元格中输入公式“=VlookUp(B2,子表!A$2:A$201,1,FALSE)”;如果在“子表”工作表中检索...

在EXCEL里如何在一个单元格里将另一个工作表对应字符的符合条件的数值全...
例如选中“A1”引用,反复按F4键时,就会在$A$1、A$1、$A1、A1之间切换。 2、快速复制公式内容 当我们在Excel工作表中修改某个单元格中的公式后,如果要将同列的其余单元格中的公式进行复制时,大多数情况下都是利用拖动填充柄的方式来进行公式复制。现在你试试在单元格右下角的小黑十字上用鼠标快速点击两下,...

如何使用excel函数判断某一单元格内包含另一区域内某单元格的内容
方法:假设是A列,标准数值是C1,在B2输入下面公式后下拉:=IF(ISNUMBER(FIND($C$1,A2)),"Y","N")B列结果为Y,则包含,B列结果为N则不包含。单元格类型定义了在单元格中呈现的信息的类型,以及这种信息如何显示,用户如何与其进行交互。用户可以 使用两种不同的单元格类型对表单中的单元格进行设...

在excel中怎样才能在一个单元格里面查找包含的字
可以使用查找函数呀。=search(想查找的字,单元格,起始位置)得出的结果就是你想查找的字在第几个字符。上面问题,得出的结果是1

怎样在EXCEL中查找相同的数据!列如:两个表格,表格1的内容包含表格2的内 ...
设SHEET1 A列中,与SHEET2中A 列 相同,SHEET1 A列数字变红 选定SHEET1的 A列,格式-条件-公式 输入 =IF(VLOOKUP(A1,INDIRECT("Sheet2!a:a"),1,0),TRUE) 点右下角格式-选择颜色

excel表格中怎么把一列数据包含在另一列中?
详细解释如下:当我们需要在Excel中判断一列数据是否包含在另一列中时,有多种方法可以实现。其中,“VLOOKUP”函数是一种常用的方法。这个函数可以在表格的第一列中查找指定的值,并返回同一行中其他单元格的值。如果我们要判断A列的数据是否包含在B列中,可以在C列使用“VLOOKUP&rdquo...

Excel如何实现一列数据查找另一列数据
在Excel中,要实现一列数据查找另一列数据,通常可以使用VLOOKUP函数、COUNTIF函数或者MATCH和INDEX函数的组合。首先,VLOOKUP函数是一个非常实用的工具,它可以在一个表格中根据一个键值查找另一列中的数据。例如,假设我们有两列数据,A列包含员工编号,B列包含员工姓名。如果我们想在C列中根据A列的员工...

EXCEL中如何查找某个单元格的内容包含与不包含
首先,使用Excel的“查找和替换”功能是一种直观的方法。用户可以按下Ctrl+F打开“查找和替换”对话框,在“查找内容”框中输入要查找的文本或字符,然后选择“查找全部”。Excel会列出所有包含该文本的单元格。若想要查找不包含特定文本的单元格,则可能需要...

两个excel表格内容比对
可以通过多种方法在Excel中比对两个表格的内容。首先,如果两个表格的格式和结构完全相同,只是部分数据存在差异,那么最直观的比对方法就是使用Excel的“条件格式”功能。具体操作是,先选中需要比对的数据区域,然后在“开始”选项卡下找到“条件格式”,选择“新建...

相似回答