关于excel函数的问题,涉及if/iserr/find等函数及多个条件组合?

A列数据中需要判断内容为“小明”或者“小明+小红”;B列数据中需要判断内容包含字段“小”,在同时满足A和B列条件的情况下在D列输出C列的内容,否则输出0.
目前我的解决办法是分别判断,A列用IF如果满足条件就输出1,不满足输出0;B列用find、iserr、if三层来判断,满足结果输出1否则0,最后单独弄一列判断这俩条件相加等于2就输出C,否则输出0。也能解决问题,但是想问问有没有大神能把这以上函数整到一条里?一次性就判断输出,感激不尽。

公式=IF(ISNUMBER(FIND({"小明","小明+小红"},A2))*ISNUMBER(FIND("小",B2)),C2,0),希望和你的表述一致。

具体如下:

追问

您好,您对问题的理解很准确。
我注意到你使用find来判断是否包含关键词,这里输出的结果是数字或者NA。
外面套了一个isnumber,我查询了一下这个函数可以判断是否为数字,输出结果是true或false,之后两个isnumber函数之间是用*相连的,我查了一下if里的逻辑值是对应1/0的,这样就能判断同时为true的情况下才输出结果为真的数据,不知道理解的对吗。
最后再次感谢您的帮助!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-15
我感觉你把判断条件复杂化了,按你的文字表述,你只需要判断内容是否是“小明”或者是”小明+小红“就可以了,第二个判断是否包含字段”小“为多余,因为等于‘小明’或者是‘小明+小红’,就一定包含字段小,不等于‘小明’或者是‘小明+小红’,包含字段小也没用,何必去做判断呢?
所以你的公式完全可以简化成=if(or(a1="小明",a1="小明+小红"),1,0)
评论里发不出我修改的公式,所以只能发到这里了。也许是我理解有误吧,只是我觉得用简单的and和or就可以完成。
=IF(AND(OR(A1="小明",A1="小明+小红"),FIND("李",B1)>0),2,0)
没找到“李”会使公式报错,所以需要在外面再加个iferror()
=IFERROR(IF(AND(OR(A3="小明",A3="小明+小红"),FIND("李",B3)>0),2,0),0)
相似回答