excel查找匹配指定的字
如图,库存情况表里有“空调、加湿器”跟“空调插板”,分别属于不同大类,怎么查找才能输入“空调”显示的是“设备”?有没有其他推荐公式。...
如图,库存情况表里有“空调、加湿器”跟“空调插板”,分别属于不同大类,怎么查找才能输入“空调”显示的是“设备”?有没有其他推荐公式。
展开
7个回答
展开全部
你的问题在于没有弄清楚vlookup这个函数的详细使用。
VLOOKUP只会从选定范围的第一列来查找你的 值,也就是说你公式里选定的是B:D三列,那么这个函数就会在B列里找“*空调*”,然后返回对应的大类。你的数据里没有“空调”,那么当然就会返回“空调插板”对应的“水电安装”。
有两个解决方案。
方案一,将你的存货名称是空的数据用二类分类来补齐,这样就是用你原来的公式就能搞定。
方案二,公式调整成=IFERROR(IF(COUNTIFS(B:B,E7)<=0,VLOOKUP("*"&E7&"*",C:D,2,FALSE),VLOOKUP("*"&E7&"*",B:D,3,FALSE)),"无此项")
公式的意思就是检测B列里面有没有你要查找项目的值,如果有的话就从B:D范围里用vlookup查找,如果没有的话,就从C:D范围里找。如果B列和C列里都没有的话,就返回“无此项”。
看下你觉的哪种方案更适合你的工作。
有问题的话可以再追问。
展开全部
1.语法 MATCH(lookup_value,lookup_array,match_type)
Lookup_value 为需要在数据表中查找的数值,可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。
Match_type 为数字 -1、0 或 1。
为1时,函数查找小于或等于 lookup_value 的最大数值,Lookup_array 必须按升序排列
为0时,函数查找等于 lookup_value 的第一个数值,Lookup_array 可以按任何顺序排列
为-1时,函数查找大于或等于 lookup_value 的最小数值,Lookup_array 必须按降序排列
如果省略 match_type,则假设为 1
Lookup_value 为需要在数据表中查找的数值,可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。
Match_type 为数字 -1、0 或 1。
为1时,函数查找小于或等于 lookup_value 的最大数值,Lookup_array 必须按升序排列
为0时,函数查找等于 lookup_value 的第一个数值,Lookup_array 可以按任何顺序排列
为-1时,函数查找大于或等于 lookup_value 的最小数值,Lookup_array 必须按降序排列
如果省略 match_type,则假设为 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=LOOKUP(3,0/FIND(C7,C2:C3),D2:D3)
=INDEX(D:D,SUMPRODUCT(ISNUMBER(FIND(C7,C2:C3))*ROW(2:3)))
之类的吧,第二个不得出现重复,第一个如果重复,出现后面那个。
=INDEX(D2:D3,MATCH(1,1-ISERR(FIND(C7,C2:C3))),)
这样也可以,是CTRL+SHIFT+ENTER三键齐按的数组公式。
=INDEX(D:D,SUMPRODUCT(ISNUMBER(FIND(C7,C2:C3))*ROW(2:3)))
之类的吧,第二个不得出现重复,第一个如果重复,出现后面那个。
=INDEX(D2:D3,MATCH(1,1-ISERR(FIND(C7,C2:C3))),)
这样也可以,是CTRL+SHIFT+ENTER三键齐按的数组公式。
追问
可是当我查找“空调插板”的时候又不多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把公式改成下面这个:
=If(C7="空调","设备",VLOOKUP("*" & C7 & "*",B:D,3,FALSE))
=If(C7="空调","设备",VLOOKUP("*" & C7 & "*",B:D,3,FALSE))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询