Excel在多列中查找重复的单元格

时间:2012-03-08 20:11:43

标签: excel excel-2007 excel-2010

我有一个包含4列的Excel表,需要找到所有4列中相同的值并将它们放在一边。试图找出如何在Excel中完成此任务。

示例:

Column 1    Column 2    Column 3    Column 4
A1          B1          B1          A1
B1          C2          C1          B1
C2          D3          C2          C2

在此示例中, B1 C2 值均符合,且必须放在一边。

5 个答案:

答案 0 :(得分:4)

将此公式放在单元格D1中并将其拖放到值的末尾:

=IF(AND(COUNTIF($B$1:$B$3,A1)>0,COUNTIF($C$1:$C$3,A1)>0,COUNTIF($D$1:$D$3,A1)>0),A1,"not found")

为了记录,法语版本:

=SI(ET(NB.SI($B$1:$B$3;A1)>0;NB.SI($C$1:$C$3;A1)>0;NB.SI($D$1:$D$3;A1)>0);A1;"not found")

答案 1 :(得分:1)

要生成显示在所有四列中的值列表,请尝试单元格F2:

=INDEX(A$1:A$3,MATCH(TRUE,COUNTIF(B$1:B$3,A$1:A$3)*COUNTIF(C$1:C$3,A$1:A$3) *COUNTIF(D$1:D$3,A$1:A$3)*NOT(COUNTIF($F$1:F1,A$1:A$3))>0,0))

使用CTRL + SHIFT + ENTER确认并根据需要填写(假设F1为空或包含不相关的数据)

答案 2 :(得分:1)

我无法让上面的例子为我自己工作,所以我提出了另一个解决方案。希望这会帮助其他人:

=IF(ISNUMBER(MATCH($A2, $B$2:$B$4, 0)), IF(ISNUMBER(MATCH($A2, $C$2:$C$4, 0)), IF(ISNUMBER(MATCH($A2, $D$2:$D$4, 0)), $A2, ""), ""), "")

这将检查“列1”(excel中的“A”列)中的值与接下来的3列(B,C,D)。如果该值全部存在,则返回A列值。如果它不存在于所有3中,则返回空。如果您希望返回其他内容,请将其放在空引号之间。

对于您的数据,输入搜索到的列的长度,B到D.例如,在它所说的“$ B $ 4”中,如果单元格下降到99,则输入“$ B $ 99”,但它如果你输入一个通常很高的数字,应该可以工作,例如,99999。

将它放在第一个值的行中,所以这里是E2,然后将其复制到A列中具有值的每一行。

该功能仅通过嵌套IF语句起作用,并且可以根据要检查的列数进行扩展或收缩。该功能也可以很容易地修改为“检查列B或列C列”功能。

答案 3 :(得分:0)

这是1值的示例;我无法概括,因为我没有看到您的数据源

Sub test()
If (Range("D6").Value = Range("D6").Offset(0, 1).Value) Then
MsgBox "match"
End If
End Sub

答案 4 :(得分:0)

您还可以使用DATA->删除多个列中的重复项。删除重复项。