当前位置:科普知识站>IT科技>

excel怎样通过简称或关键字模糊匹配查找全称

IT科技 阅读(1.2W)

使用通配符,不需要这么复杂的公式 =VLOOKUP("*"&A2&"*",全称!A:A,1,0) 发你的表 [email protected]

在使用Excel表格办公的时候,如果能以简称或关键字匹配查找全称,将会节省你很多的时间,使你办公更方便。下面就来教给大家如何用简称或关键字模糊匹配查找全称的方法。

excel怎样通过简称或关键字模糊匹配查找全称

材料/工具

Excel

方法

首先,打开你的Excel。

1、打开需要查找的数据表,我们需要查找名字中带“五”字员工的工号。点击鼠标左键选中单元格G2。 2、点击左上角的“fx”插入函数 3、在弹出的窗口中,选择“VLOOKUP”函数,点击“确定” 4、在vlookup函数的设置中,参考值处用“*五*”表示含五的名字(*

excel怎样通过简称或关键字模糊匹配查找全称 第2张

B1、B2、B3为公司全称,D1为公司简称.(注:这些公司均为虚构的公司,并不存在)

F2公式 =IFERROR(INDEX(D:D,IFERROR(MATCH(B2,D:D,0),IFERROR(MATCH(LEFT(B2,LEN(B2)-1),D:D,0),LOOKUP(1,0/ISNUMBER(FIND(LEFT(B2,LEN(B2)-1),D:D)),ROW(D:D))))),"无匹配") 按你的数据看,进行三次匹配 1、按B列全称在D列精确查找,如果有,则

excel怎样通过简称或关键字模糊匹配查找全称 第3张

选中E1单元格,在公式工具栏中点击“插入函数”。

按照你的图, B3 公式: 数量: =index(C:C,match($A3&"*",$E:$E,0)) 产地: =index(D:D,match($A3&"*",$E:$E,0))

excel怎样通过简称或关键字模糊匹配查找全称 第4张

在打开的框框内查找“LOOKUP”函数,并选中LOOKUP函数。

截图请截出行号和列标,以方便描述和书写公式。 在E2单元格输入以下公式,然后向下填充公式 =LOOKUP(1,0/FIND(A$2:A$8&"",D2),B$2:B$8) 详见附图示例 A列部分简称重复,不能归结为完全意义的简称。

excel怎样通过简称或关键字模糊匹配查找全称 第5张

输入和图上一样的公式,计算结果为全称,点击确定即可。(LOOKUP函数是从单行或单列或数组中查找一个值)

一般这种情况,先要建立一个客户清洗的目录表。否则有的是在前面,有的是在中间,很难用一个公式来查询的。

excel怎样通过简称或关键字模糊匹配查找全称 第6张

扩展阅读,以下内容您可能还感兴趣。

excel匹配包含简称并返回简称,要用什么函数?

权当原数据在A2:B100区域内

C2输入公式

=LOOKUP(1,0/FIND(A$2:A$100,B2),A$2:A$100)

下拉

如何在EXCEL里用函数,将公司简称查找出公司详细的名字?

使用VLOOKUP函数公式即可。

具体方法:

在Sheet1的B1单元格,输入百公式

=VLOOKUP("*"&A1&"*",Sheet2!A:A,1,0)

公式往下拉自度动填充

(或者复制B1单元格,到下方的单元格),即可

公式解内释:

"*"&A1&"*",表示包含单元格A1内容的文本。

Sheet2!A:A,表示Sheet2中的A列。

然后使用VLOOKUP函数,查找Sheet2中的A列,

满足条件的容文本,然后返回此列的值。

excel表中在固定单元格B1录入模糊字(或简称)就能在下拉菜单里自动搜索显示出数据源表中相对应的全称。

这个问题可以用INDEX函数和SMALL函数再加上数组公式,做出一个动态的数据序列,再通过数据有效性将序列值传递给下拉菜单。这样就可以实现模糊搜索了。可惜传不上样例。这个思路供你参考。

excel表中在固定单元格B1录入模糊字(或简称)就能在下拉菜单里自动搜索显示出数据源表中相对应的全称。

因你是在同一个单元格中输入并得到其下拉列表,所以用VBA可以解决更多追问追答追问能具体点吗?谢谢,我就是看到有些进销存软件里面在录进货或者销售时只输入商品名称的一部分,就会有提示包含所输入字符的所有商品名称供选择,所以才想到问这个的追答Private Sub Worksheet_Change(ByVal Target As Range)

Dim Str1$

If Target.Address = "$D$2" Then

Str1 = Target.Value

If Len(Str1) = 1 Then

Target.Validation.Delete

Target.Select

Else

Target.Offset(1).Select

End If

End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim arr, x&, i&, Str1$, brr()

If Target.Address = "$D$2" Then

Target.Validation.Delete

Str1 = Target.Value

If Len(Str1) = 1 Then

arr = Range("A2:A8")

For x = 1 To UBound(arr)

If arr(x, 1) Like Str1 & "*" Then

i = i + 1

ReDim Preserve brr(1 To i)

brr(i) = arr(x, 1)

End If

Next x

If i > 0 Then

With Target.Validation

.Delete

.Add Type:=xlValidateList, Formula1:=Join(brr, ",")

End With

End If

End If

End If

End Sub

单元格事件完成追问是新建一个宏,然后把代码复制进去吗?我刚才试了一下怎么不行啊,大哥!!!再具体点好吗?我是菜鸟级别滴追答不是新建个宏。在编辑器中双点对应工作表,把上述代码粘贴到右边的编辑栏中即可

Excel匹配字符 返回一个简称

在C2单元格输入以下公式,然后向下填充公式

=IFERROR(LOOKUP(1,0/FIND(A$2:A$8,B2),A$2:A$8),"")