excel中的模糊匹配问题
A B
1 青霉素 A类品种
2 头孢 B类品种
3 阿莫西林 C类品种
sheet2
A B
1 注射用青霉素钠 =表1哪类品种?
2 头孢拉定胶囊
3 阿莫西林胶囊
类别远远超过64了。。。否则我手工做也快过到这里来问。。。。谢谢大家 展开
2015-10-12 · 知道合伙人软件行家
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的内容,也就是全称。
=IF(ISNUMBER(FIND(Sheet1!A1,A1)),Sheet1!B1,IF(ISNUMBER(FIND(Sheet1!A2,A1)),Sheet1!B2,IF(ISNUMBER(FIND(Sheet1!A3,A1)),Sheet1!B3,"无此类别")))
ctrl+回车,得数组公式,就是会自动加上{}
用模拟运算表最简单
我已经算出来了。但是使用模拟运算表不能一步到位,能否mail给我
或者百度HI我一下