excel中两列数据的模糊匹配,是两列的所有数据,不是一行匹配一列?

A列中包含E列数据,要进行匹配之后在B列输出匹配到的E列数值

B1单元格输入公式=IF(COUNTIF(A$1:A$22,"*"&E1&"*"),E1,"")&""

下拉至等于或大于E列最后一个数据所在的行数。(B列数据出来后,复制,以选择性粘贴为数值的方式清除公式,单独对此列降序排序即可)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-11
EXCEL中怎么查找某列数据在另一列对应的内容,可以使用EXCEL中的公式:VLOOKUP
开启分步阅读模式
工具材料:
VLOOKUP
操作方法
01
列如:知道下表1中,姓名及其对应的的月收入。

02
现在需要查找表1中某些人的对应的月实际收入,如下表2,当由于数据比较多不方便一一查找时,可以使EXCEL中的公式 VLOOKUP快速查找匹配出相应的数据。

03
首先需设置单元格格式,将表1中查找列( B列、C列及D列)及表2中查找列(F列)格式设置如下图所示:数据——分列——分隔符号——分号——文本。
注意:必须逐列设置,不可直接选择两列设置;目标值列须放在查找对应值列的后面,该例中的D列(目标值列)须放在B列(查找对应值列)的后面。

04
将需要插入匹配值列(如表2中的G列)的单元格式设置如下图所示:右键单击——设置单元格格式——常规。

05
将鼠标定位到需插入单元格式,插入公式(VLOOKUP),如下图所示:
在Lookup_value 处选择需要进行搜索的值,此例选择 刘六;在Table_array 处选择搜索数据的信息表,此例选择 表1中的B、C、D三列;在Col_indexx_num 处输入数字 3,表示目标值在搜索信息表的第3列;在Range_lookup处输入0或1,0(即False)表示大致匹配,1(即True)表示精确匹配;按确定即可得到结果,拉该单元格即可剩余对应值的结果。
第2个回答  2021-10-12
在B1中输入或复制粘贴下列公式
=IFERROR(LOOKUP(1,0/FIND(E$1:E$40,A1),E$1:E$40),"")
下拉填充
第3个回答  2021-10-11

你可以B1单元格输入公式:

=IFERROR(LOOKUP(1,0/FIND($E$1:$E$40,A1),$E$1:$E$40),"无")

复制并下拉,即可…………

追问

好厉害!但发现一个问题,比如E列里有个值是“Dila”,A列里是“Dilaram”,按照您说的方法直接匹配到了"Dila”,但是如何才能准确匹配到“Dilaram”呢?

追答

先把E列的词按字数从少到多进行排序
【可以在F列输入公式:=LEN(E1),复制并下拉,再E、F列一起按F列排序】
排序完成后,你的问题也就不是问题了…………

追问

您这个方法我试了,如果E列里有“Dilaram”的话是可以正确匹配出来的,但是E列里没有“Dilaram”这个项的时候,就还是匹配“Dila”。这种情况下有解决方法吗?

追答

想想你说的逻辑?!
若E列没有Dilaram而只有Dila,也只能匹配Dila吧

追问

哦,我没有描述清楚,加一个前提条件是,A列里只有“Dilaram”,没有“Dila”

追答

晕!什么逻辑呀!
唯一的查一个,E列字段中有包含的,若按字数排序的取大优先,未排序的取最后一个

本回答被提问者采纳
第4个回答  2021-10-11
用代码的字典
相似回答