请问用Lookup,find,if error函数根据名酒的名字,查找出生产厂家?

发布时间:
2024-10-19 16:41
阅读量:
11

公式写错了、逻辑混乱,不仅C3单元格是空白,下面的几个结果的对应关系也都是错误的。

所以,单独分析“为什么是空白”也没什么意义(不过,这一部分我还是放在最后了)。


1、公式修改

A列改为引用一个目标值,E列改为整列有效数据。


2、示例公式

=IFERROR(LOOKUP(1,0/FIND(A2,E$2:E$9),E$2:E$9),"")

*公式中有相对引用和锁定行号的混合引用,输入时要注意。


3、其它思路

如果不限定LOOKUP和FIND函数,可以把LOOKUP函数换为VLOOKUP函数,公式更好理解。

示例公式

=IFERROR(VLOOKUP("*"&A2&"*",E$2:E$9,1,0),"")


4、错误原因

题主初始公式的错误形态也放在下面了。

新手看了可以加深对各个函数的理解。

该公式的实际意义为:

依次查询A列酒名是否包含于“E列公式所在行”的内容中,如果有包含的酒名,则返回酒名对应的下一行的酒厂名称。

语言描述比较抽象,下面先举个例子:

C2单元格公式,依次查询A列酒的名称,是否包含在E2“安徽古井贡酒股份有限公司”中。

A6单元格内容“古井贡酒”包含在“安徽古井贡酒股份有限公司””中,所以返回E列中A6对应的下一行,E7的内容“贵州茅台酒股份有限公司”。

从结果来看貌似是正确的,但只是碰巧而已,再看下一个例子:

C7单元格公式,依次查询A列酒的名称,是否包含于“贵州茅台酒股份有限公司”。

A2单元格内容“茅台酒”包含在“贵州茅台酒股份有限公司”中,所以返回E列中,A2对应的下一行,E3的内容“贵州遵义董酒厂”。

可以看到,结果跟A7单元格的“西凤酒”没什么关系。

对于题主的原始问题“为什么C2是空白”,是因为A列酒名中没有“董酒”,所以LOOKUP函数返回了错误值,通过IFERROR函数变为了空白。



有问题请留言。

END