excel模糊查询

现在要找很多的药品名称,Ctrl+F打出来找很麻烦,能不能只用打出字母查找,例如“六味地黄丸”打“lwdhw”就能找出来的。

1.首先看一下原始数据,A列是一些公司全名,在B1处输入一个简称或者说关键字(必须是在A列某个文本中连续包含的关键字),要在C1返回A列对应的全称。

2.双击C1单元格,输入公式

=VLOOKUP("*"&B1&"*",A1:A7,1,)

回车后C1单元格就返回了B1对应的A列公司全称。


3.VLOOKUP通配符方法介绍:

=VLOOKUP("*"&B1&"*",A1:A7,1,)代表的含义是在A1:A7的范围内查找包含B1关键字的单元格,找到后返回A1:A7第一列的内容。函数中的“*”代表任意字符,也就是说在A1:A7内查找B1文本前后任意字符的内容,也就是包含B1文本的意思。其中的1代表返回A1:A7数据区域第一列结果,最后一个逗号后省略参数代表的是精确匹配,也可以输入0或FALSE。


4.本例也可以用LOOKUP函数完成。

双击C1单元格,输入公式=LOOKUP(1,0/FIND(B1,A1:A7),A1:A7)即可。


5.来看一下LOOKUP运算过程。

首先FIND(B1,A1:A7)表示在A1:A7内查找B1内容,如果查找不到则返回错误值,如果查到返回在文本中的位置。

6.0/FIND(B1,A1:A7)这部分让上一步返回的值参与运算,如果上一步返回的是数字,结果就返回0否则仍返回错误值。

7.最后LOOKUP(1,0/(数组),A1:A7)部分返回“数组”中最后一个小于等于1(也就是“数组”中的0)的值对应的A1:A7的内容,也就是全称。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-03

表格内容太多怎么办,来学习一下高端的模糊查找吧

第2个回答  2011-08-15
你可以先从拼音输入法里找出每一个汉字的拼音对应表,放在EXCEL里,然后用文本函数提出第一个字母,变成汉字与一个字母的对应表,再用Vlookup函数生成每一种药品的拼音简写,变成药品与简写的对应表,然后再查找字母就很容易找了
第3个回答  推荐于2016-07-17
只能新建一(拼音首字母)字段了

找到一个取首字母的函数:
Function HYPY(myStr As String) As String
Dim L As Integer, i As Integer
Dim GetPY As String, N As String
On Error Resume Next

myStr = StrConv(myStr, vbNarrow)
L = Len(myStr)

For i = 1 To L
If Asc(Mid(myStr, i, 1)) > 0 Or Err.Number = 1004 Then N = ""
N = Application.WorksheetFunction.VLookup(Mid(myStr, i, 1), _
[{"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"呒","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"}], 2)
GetPY = GetPY & N
Next i

HYPY = GetPY
End Function本回答被提问者采纳
第4个回答  2011-08-16
看,人家都把方法给出来了。
相似回答