以下是引用hhf2008在2004-11-3 15:21:00的发言:
2、为什么不能直接=IF(a1="*ea*","ffff","hhhh")中使用通配附???
3、可不可以'=IF(SUM(COUNTIF(A1,OR("*EA*","*HAN*","*BU*"))),"FFF","")???
2、对于比较运算符是不支持通配符的,而且如果楼主要使用常量数组,常量数组外必须加上{}才行。
3、楼主虽然想到了用Or函数,但是地方没用对!我们来看看该公式:
=IF(Sum(COUNTIF(A2,{"*EA*","*HAN*","*BU*"})),"FFF","")
首先Countif() 函数支持通配符运算,这样就可以在A2中进行查找是否包含对应的字串,如果包含则置为1,否则为0,如A2="EASY",那么Countif公式运算的结果为{1,0,0},对于该结果进行求和为1,结果非0即返回True,所以IF结果返回FFF。由于{1,0,0},只要任一值非0,结果都返回True,因此公式还可以为:
=IF(Or(COUNTIF(A2,{"*EA*","*HAN*","*BU*"})),"FFF","")
另外提醒一点:Countif()函数是不区分大小写的,如果需要区分,就需要用Find()函数了,如:
=IF(Or(Isnumber(Find({"EA","HAN","BU"},A2))),"FFF","") |