作者:Excel Home 来源:《Excel实战技巧精粹》
发表于:2008年9月26日

在技巧90中介绍了利用条件格式快速对比不同区域中的数值的一种方法。然而在实际工作中,需要对比的数据可能并不是位置一一对应的。例如,在如图91-1所示的表格中,需要把与账号二不匹配的账号一标记出来,但两列账号的排列顺序并不相同,对于这种情况,条件格式的设置要相对复杂一些。

图91-1 待检查的表格

单击A2并拖动光标到A11以选定区域A2:A11,单击菜单“格式”→“条件格式”。

在“条件格式”对话框中,单击“条件1(1)”的下拉箭头,在列表中选择“公式”项,在右边的文本框中输入公式:

=OR(EXACT(A2,B$2:B$11))=FALSE

单击“格式”按钮,在“单元格格式”对话框的“图案”选项卡中选择单元格底纹颜色为淡蓝,单击“确定”按钮。

单击“条件格式”对话框的“确定”按钮。

以上操作完成后,账号一中所有与账号二不匹配的内容都会被标记出来,如图91-2所示。

图91-2 与账号二不匹配的账号一都被标记出来了

在上述公式中,EXACT函数用于比较两个文本字符串是否完全相同,如完全相同则返回TRUE,否则返回FALSE。

使用以下3个公式,也能够完成同样的任务:

=ISNA(MATCH(A2,B$2:B$11,))

=ISNA(VLOOKUP(A2,B$2:B$11,1,))

=NOT(OR(A2=B$2:B$11))

有的读者可能更熟悉COUNTIF函数,但是在这里,如果使用公式=COUNTIF(B$3:B$12,A3),会得到错误的结果。因为当字符型数字的长度超过15位时,COUNTIF函数会把从第16位开始的数字都当作0计算。

如果使用COUNTIF函数,可以按下面的方法来创建公式:

=COUNTIF(B$3:B$12,A3&”*”)=0

这样就可以强制COUNTIF使用文本方式进行计数。

声明:本站所有文章均出自互联网,只为学习之用;如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。