if函数多个条件输入,但是只有第一个生效了?

图2是现在的公式,有没有好心人帮忙看看问题出在哪里,该怎么修改

经过简单测试分析,用IF+FIND对一个单元格进行嵌套判断测试时,发现IF进行一级判断后,由FIND结果来作为判断真假的数据类型是错误的。

我们知道,IF判断的基本格式是,IF(条件,条件为真(1)时输出,条件为假时(0)输出)。

当FIND找到时,返回字符所处的位置值,IF对位置值自动判断为真。

当FIND找不到时,返回#VALUE!。显然,IF是对#VALUE!这个值无法判断是真还是假,于是返回错误。

综上所述,不建议用IF+FIND进行字符查询判断。

下面有一个改进方案。见公式:=IF(COUNTIF(A1,"*3D*")>0,"3D硬金",IF(COUNTIF(A1,"*5D*")>0,"5D硬金",IF(COUNTIF(A1,"*5G*")>0,"5G黄金","")))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-06-11
因为FIND函数在没有找到的时候就没有值输出,导致if函数没法继续计算。在find函数前面加一个iferror就可以。if(iferrir(find("",F27),0), 这样你试试