使用条件格式(较大的数据集)突出显示彼此不相邻的重复项

时间:2016-02-02 17:25:43

标签: excel vba excel-vba duplicates conditional-formatting

  

我们在Excel中按特定顺序列出了产品编号。由于我不会进入的原因,我们需要突出显示彼此不相邻的重复项。目前,我正在以条件格式使用此公式来完成这项工作。

     

=AND(COUNTIF($A$2:$A$82,$A2)>1,$A1<>$A2,$A2<>$A3)

     

这种方法效果很好,除非在下面的示例中有重复对的情况下,我们希望突出显示FO-1694,因为它们不是彼此相邻的。但我们不希望NIS0257被突出显示,因为它们是。

     

目前

     

past 1

     

理想情况下,这是我们想要看到的......

     

预期

     

past 2

我最初在1月30日问了同样的问题(link),我收到的条件格式公式似乎是solution {/ 3>

=NOT(AND(A2=OFFSET(A2,COUNTIF($A2:$A$82,A2)-1,0),A2=OFFSET(A2,-(COUNTIF($A$2:$A2,A2)-1),0)))

虽然这个原始答案似乎适用于一小组数据(example),但它不能像我将要处理的更大的数据集那样起作用(下面的图像是问题使用更大的数据集)。我已经根据需要调整了公式以适应更大的范围,因此您可以在较大的数据集图片和视图中看到条件格式公式。文件是

=NOT(AND(A2=OFFSET(A2,COUNTIF($A2:$A$5422,A2)-1,0),A2=OFFSET(A2,-(COUNTIF($A$2:$A2,A2)-1),0)))

应突出显示箭头指向它们的单元格

problem screenshots    problem screenshots

problem screenshots    problem screenshots

对于最后一张图片,即使它是范围的结尾,细胞也应该突出显示,因为它们是空白的,我也需要突出显示范围内的所有空白细胞。

可以使用此link从我的保管箱帐户下载包含较大数据集的完整文件。

2 个答案:

答案 0 :(得分:1)

我应该想到这些问题:

=NOT(AND(IFERROR(COUNTIF(OFFSET(A1,0,0,-COUNTIF($A$1:$A1,A2)),A2),0)=IFERROR(COUNTIF($A$1:$A1,A2),0),IFERROR(COUNTIF(OFFSET(A3,0,0,COUNTIF($A3:$A$5422,A2)),A2),0)=IFERROR(COUNTIF($A3:$A$5422,A2),0),A2<>""))

应该这样做。

答案 1 :(得分:1)

我不确定这对你有用吗<​​/ p>

=IF(COUNTIF($A$1:$A$8,A2)>2,1,IF(AND(COUNTIF($A$1:$A$8,A2)=2,A1<>A2,A3<>A2),1,0))

我已经在测试数据位上对其进行了测试,似乎可行。您需要检查第1行,因为您无法检查上一个单元格,因此A1&lt;&gt; A2部分..

1在我的测试中是真实条件所以需要调整条件格式。 享受。