Excel中对比两列数据的不同并做特殊标记

来源:互联网 发布:cf数据异常得多长时间 编辑:程序博客网 时间:2024/05/16 15:57

最近在处理一批自然保护区的数据,数据的来源不同,要对比两种数据的区别,当然要用Excel进行处理了。如下图:


有A和C两列数据,A列数据是中国林业科学院的网站上爬取到的;C列数据是国家环保部公布的PDF文件转换成EXCEL得到的;现在想比较这两列数据的区别,标记出A列中有,而C列种没有的数据,在B列里面显示;同时将C列里面没有的而B列里面独有的数据在B列本身的数据处标红,要怎么做呢?

我们一步一步介绍,首先,我们来说一下在B列种提示C列有没有的标记方法:

选中B1单元格,在里面数据公式   =IF(COUNTIF(C:C,A1)>0,"C有","C没有")然后按回车,在B1单元格中会出现第一行的提示“C有”,然后选中B1单元格,将光标十字对准该单元格右下角的点点,双击自动填充B列,就会得到上图中的效果。

我们来分析一下为什么上述公式能够实现这样的效果:上面的公式实际上是由两个函数IF()COUNTIF()组成的;其中COUNTIF()   函数由两个参数组成,第一个参数是作用单元格的区域范围,比如我要检索C1~C26这些单元格中的内容,就写C1~C26;由于我要检索的是C列这一整列数据,我就可以直接写C:C,表示选中了这一整列;它的后面一个参数是要进行处理的动作,我们填写A1,就是它会判断一下你检索的内容(C列中)是不是A1单元格里的内容,如果是,他就会在本单元格计数一次,返回值就是1;如果不是,它就计数0。这样,函数会自动遍历A列种的值是否在C列种出现,如果出现,就在B列对应的单元格返回值1,否则返回值0。

我们又在外层嵌套了一个IF() 函数,IF()函数有3个参数,第一参数是判断条件,这个条件是个布尔类型的值,只有对或错之分,对就返回1,错就返回0;第二个参数表示对条件返回结果为1,也就是真值的处理操作;第三个参数就是对条件返回结果0,即假值得的处理操作。

上面的公式中,我们把内层函数COUNTIF()的返回值和0做比较,让它的值>0来作为一个表达式,由于COUNTIF() 函数的返回值结果只有0和1两种情况,所以这个表达式只有两个结果,大于0对(表达式返回值1)和大于0错(表达式返回值0),因此这个表达式可以胜任IF() 函数的条件表达式参数,如果这个表达式返回1,IF() 函数就会采取相应的处理结果“C有”,就是在B列对应的单元格里数据“C有”;如果条件表达式返回0,则IF() 函数就在B列对应的单元格执行“C没有”的操作。因此,当函数遍历完成C列区域的所有行后,就将B列种对应单元格内的提示自动填充完成了。


然后,我们再来实现在A列中标红显示C列没有的数据。

我们以Excel2013为例,首先选中A列,然后以此点击   开始-》条件格式-》项目选取规则-》其它规则-》使用公式确定要设置的单元格,如下图所示:



然后,我们再点击格式,在弹出的窗体中点击“颜色”后面的下拉按钮,选择红色并点击确定,如下图:


之后,我们在“为符合此公式的值设置格式”一栏中填写公式: = COUNTIF(C:C,A1)< = 0,然后点击确定,如下图所示:



我们发现,点击确定之后,就会把A列中有C列中没有的数据标红了,原理还是COUNTIF() 函数,我们把条件表达式写成<=0 ,表示C列种没有。同理,在C列和D列检索A列种没有的数据并标记也使用同样的方法。

0 0