比如在一个单元格内(单元格的值为AAAA)同时查找 :AA,BB,这两种不同的字符,当出现AA的时候返回1,出现BB的时候返回2.
我能想到的只有不停的嵌套find函数,有没有更好的查找方式?
我想到的=if(iferror(find("AA",a1),0)>0,1,if(iferror(find("BB",a1),0)>0,2,"未找到目标值"))因为这次我遇到了要查找八个不同字符的问题,如果嵌套太多会很乱,容易出错,并且有可能超出公式能写的格数,拜托大家给出一个好的解决方案
条件是自己设定的,所以肯定是唯一的,每个条目仅仅只符合一个条件,不会同时符合两个条件的条目
B1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉:
=IF(A1="","",MATCH(1=1,ISNUMBER(FIND({"AA";"BB";"CC";"DD";"EE";"FF";"GG";"HH"},A1)),))
若使用的是EXCEL 2007或更高的版本,还可以用以下公式:
=IFERROR(MATCH(1=1,ISNUMBER(FIND({"AA";"BB";"CC";"DD";"EE";"FF";"GG";"HH"},A1)),),"")
大括号中为8个类别,分别从左往右AA对应1,BB对应2,CC对应3。。。以此类推,可根据实际情况修改。
追问上面的返回值是我为了简化才设为1,2,3,这样的,实现际上是要返回文本,比如张一,李二,赵三。这个能实现吗?
其实我是有很多厂家,由于名称很长,所以把名称简化一下,把对应的厂家更名
不会同时出现符合多个条件的
我发现我的2007版本里没有ifs...
不会同时出现