快生活 - 生活常识大全

数据查找内容查找统计的函数公式


  编按:哈喽,大家好!在excel中判断单元格是否包含指定内容,已经是一个老生常谈的话题了,相信大家在工作中也遇到不少类似问题。今天就给大家说说解决这类问题常见的三个套路,保证招招好使!
  *********
  判断单元格是否包含特定内容是平时工作中经常会遇到的一类问题,常见于包含备注信息的表格中。例如下面这个考勤汇总表,需要根据备注中的内容判断该员工是否存在加班的情况,就属于这类问题。
  遇到这类问题该如何处理,常用的公式做法有三种,下面为大家逐一进行介绍。
  方法1:IF+COUNTIF
  公式:=IF(COUNTIF(D2,"*加班*")=0,"","是")
  公式解析:
  COUNTIF(D2,"*加班*")是这个公式的核心部分,这个函数主要实现的是条件计数功能,基本格式为COUNTIF(条件区域,条件)。
  在这个例子中,条件区域就是一个单元格"D2",而条件则是在要判断的内容两边同时加上通配符*后得到的值,实现的效果就是对满足条件的单元格进行计数,如果包含要判断的内容,结果为1,不包含的话结果就是0。
  有了这个结果后,再使用IF函数得到最终的结果,公式=IF(COUNTIF(D2,"*加班*")=0,"","是")也就很好理解了。如果D2单元格中不包含"加班",COUNTIF的结果就是0,IF返回对应的空值,否则返回"是"。
  关于COUNTIF详细的使用方法,小伙伴们可以参考之前的教程《countif函数的使用方法以及countif函数查重复等5个案例分享》,此处不做赘述了。
  方法2:IF+ISERR+FIND
  公式:=IF(ISERR(FIND("加班",D2)),"","是")
  公式解析:这个公式的核心部分是FIND("加班",D2),FIND函数的基本格式为FIND(要找的内容,在哪找,从第几个字开始找),如果第三参数不写,表示从首字符开始找。这个公式的意思就是在D2单元格中找"加班"这两个字,如果能找到,FIND就返回要找的内容在单元格中的位置,如果找不到就会返回一个错误值。
  从上图中可以看出FIND函数的效果。接下来要判断结果是否为错误值,如果是错误值,表示没有要找的内容,这就需要用到ISERR这个函数。ISERR函数很简单,就是判断一个值是否为#N/A以外的错误值,本例中的错误值为#VALUE!,因此用这个函数完全没问题。
  最后再加上IF函数,就构成了完整的公式=IF(ISERR(FIND("加班",D2)),"","是")。
  相比第一个方法,这个公式略微有点难度,不过多实践两个函数也不失为一件美事。
  方法3:IF+SUBSTITUTE
  公式:=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")
  公式解析:
  这个公式中用到了一个比较长的函数SUBSTITUTE,这个函数的功能是替换字符,格式为SUBSTITUTE(在哪里替换,要替换的内容,替换为什么,替换第几个),如果最后一个参数不写,表示全部替换。
  公式SUBSTITUTE(D2,"加班","")的意思是把D2单元格中的"加班"两个字替换为空,替换后的结果如图所示。
  接下来的一步比较有意思,用替换后的内容和原来的内容做比较,也就是SUBSTITUTE(D2,"加班","")=D2,如果包含加班的话,替换后的内容肯定不等于原来的单元格了,反之如果替换后的内容与原内容一样,表示不包含要找的内容,最后还是使用IF来实现结果的输出。
  相比前两个方法,公式=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")的思路非常巧妙,也从另一个方面让我们重新认识了SUBSTITUTE函数。
  *********
  小结:站在解决问题的角度来说,第一个方法足够了,容易理解,也比较简单。但是站在学习的角度来说,当我们遇到一个问题时,不妨多尝试几种思路,一方面可以开拓自己的思维,另一方面也可以多熟悉一些函数,有了不同的解决方法,也就可以体会到研究公式函数的乐趣,很多所谓的高手大神,其实都是这样练出来的。
  大家还有什么其它方法呢?欢迎加入讨论学习!
  ****部落窝教育-excel函数公式应用****
  原创:老菜鸟/部落窝教育(未经同意,请勿转载)
网站目录投稿:新霜