在使用Excel处理文本数据时,常常需要根据单元格的是否包含特定或者符合某些特征将内容进行分类统计.这时候就需要使用到了一个系列组合在一起函数来实现该功能了,其中的核心函数就是find函数.
先看下例子:

现在有一份用户的充值记录信息. 我们有两个需求: 1. 根据商品明细列判断属于什么购买类型; 2.根据来源列判断来源类型
1.购买类型的计算方法是,如果F列商品明细中如果包含"元购" 则购买类型是直充, 如果包含"礼包"则购买类型是礼包,其他情况,则购买类型其他.

IF(ISNUMBER(FIND("元购",F2)),"直充",IF(ISNUMBER(FIND("礼包",F2)),"礼包","直购")),然后下拉填充即可. find是一个查找某个单元格内特定字符位置的函数,如果能查到则返回字符所在的位置,否则返回错误值. FIND("元购",F2)表示查找"元购"字符在F2内所在的位置.FIND("礼包",F2)表示查找"礼包"在F2内的位置.ISNUMBER表示特定值是否是数字. ISNUMBER(FIND("元购",F2))表示查找返回的结果是否是数字,即如果F2中包含了"元购"则返回TRUE,如果没有包含则返回False.
总之结合IF函数. IF(ISNUMBER(FIND("元购",F2)),"直充",IF(ISNUMBER(FIND("礼包",F2)),"礼包","直购")) 表示首先在F2内查找是否包含"元购",如果查到了,则返回直充. 如果没查到,则继续在F2中查找是否包含"礼包",如果查到了则返回"礼包".如果以上两个都没查到,则返回"其他".
2. 来源类型的计算逻辑是,如果来源列中包含android(无论大小写)则来源类型为android,如果来源列包含ios(无论大小写)则来源类型为ios,其他情况则返回"其他"

IF(ISNUMBER(FIND("ios",LOWER(H2))),"ios",IF(ISNUMBER(FIND("android",LOWER(H2))),"android","其他")). 这里比较特殊的H2列来源列中"ios"和"android"中有的是大写,有的小写,如果只用查找小写的ios和android字符,遇到大写格式的ios和android就会查找失败.这里我们首先需要将里面的字符转化成小写,然后就可以利用find函数判断I列中是否包含"ios"和"android"了.并结合ISNUMBER和IF函数来实现来源类型的计算了.
lower函数的作用就是将字符全部转化成小写.如lower("ABc") 则会返回 "abc".
IF(ISNUMBER(FIND("ios",LOWER(H2))),"ios",IF(ISNUMBER(FIND("android",LOWER(H2))),"android","其他"))函数, 首先将H2的值全部转化成小写后,在里面查找是否包含ios,如果包含则返回"ios",如果包含android则返回"android",如果两者都不满足,则返回"其他".
在字符查找函数find的使用中,如果要判断是否查到了特定的字符,经常会配合ISNUMBER函数进行使用.可以说这两个函数配合起来就是字符查找世界里的顶级CP了
