Excel数组公式可查找多列中的重复行

时间:2019-02-28 16:31:48

标签: excel-formula

有没有一种方法可以使用数组公式在多列中指示重复的行?

数据:

AA1   BB1   CC2   duplicate
AA1   BB2   CC1
AA1   BB1   CC2   duplicate
AA1   BB1   CC1

在上表中,我需要通过在第4列中添加“重复”来指示第1行和第3行。

我知道Excel中的删除重复项功能,但是在实际删除重复行之前,我必须先查看重复行。此外,由于在此过程中文件进一步发生了什么情况,因此不建议添加隐藏的帮助程序列...

如果数据仅在一列中,则countif公式将起作用。所以我希望某种countif(col1 & col2 & col3, range(A:A & B:B & C;C))可以解决问题...

谢谢!

3 个答案:

答案 0 :(得分:1)

您必须了解重复的含义。这意味着是否再有原始值的出现。在您的示例中,第一行不是重复的,因为它之前没有任何出现。下一个值是重复的,因为它是第二次出现。我为您准备了一种提取重复项并将其标记为需要的方法。

enter image description here

D1单元格中的公式:

=CONCATENATE(A1,B1,C1)

单元格E1中的公式:

=COUNTIF( D$1:D1, D1 )

单元格F1中的公式:

=IF(E1>1,"Duplicate","")

-编辑:

如果要显示所有重复项(包括原始值) enter image description here

D1单元格中的公式:

=CONCATENATE(A1,B1,C1)

单元格E1中的公式:

=IF(COUNTIF($D$1:$D$4,D1)=1,0,1)

单元格F1中的公式:

=IF(E1>0,"Duplicate","")

干杯!

答案 1 :(得分:0)

Simple COUNTIFS

这对数组公式COUNTIFS来说是必要的。

=COUNTIFS($A$1:$A$4,A1,$B$1:$B$4,B1,$C$1:$C$4,C1)

答案 2 :(得分:0)

以删除重复行为目标,而不是删除所有行(包括第一次出现的行)是不可行的选择,这是实现此目标的方法。

使用与阿迪莫拉的答案略有不同的公式:

enter image description here

在D列,观察地址如何被锁定...例如A $ 1:A1 ...用于第1行的公式。填写公式时,左侧的行号保持不变,但右侧的行号增加。因此,计算重复发生的实例。

然后,如果没有添加帮助器列的选项,请引入条件格式,以突出显示第二,第三,第四事件的出现,按颜色过滤并删除它们。

在这里,您将首先选择出现重复的区域。处于活动状态的单元格(选定区域中的单元格为白色,而不是灰色的单元格)必须位于所选内容的第一行。

使用上面D列中与第1行相同的公式添加条件格式,但这一次,锁定所有列,并在条件>1后面加上一个条件。

应用条件,您可以继续按颜色过滤并删除重复项!

enter image description here

其他信息:COUNTIF和COUNTIFS对于非常大的数据(取决于涉及的列数,大约为10,000行)来说是一个非常低效的公式。您可能会感觉Excel响应缓慢,因此,删除重复的行后删除公式可能是一个好主意。否则,请添加双引号以禁用该公式,以便下次可以重用该公式。 ="COUNTIFS($A$1:$A1,$A1,$B$1:$B1,$B1,$C$1:$C1,$C1) > 1"

希望这会有所帮助