检查范围内的唯一单元格的数量

我有一个Excel表。

在列E下,我有425个单元格的数据。 我想检查是否在E列下的其余424个单元格的任何其他地方重复了相同的数据(即单元格内的文本)。我该怎么做?

例如,在E54我有
Hello Jack

我将如何检查这个值,看看它是否在这些单元格的其他任何单元格中?

你可以使用

=SUMPRODUCT(1/COUNTIF(E1:E425,E1:E425))

统计E1中唯一的小区数:425

425的答案意味着所有的值都是唯一的。
421的答案意味着4个值是其他值的重复

在所有基于此公式突出显示的单元格上使用“条件格式”:

COUNTIF(E:E,E1)<> 1

这是基于列E,并从E1开始,否则修改。

在Excel 2010中更容易,只需进入条件格式并select

仅格式唯一或重复的值

我来到这里是因为我有这个问题,其中一个答案帮助我想出了这个…

 =IF(COUNTIF(E1:E425,E54)>1,"Repeated","Unique") 

此公式输出“唯一”或“重复”,具体取决于列值是否全部是唯一的:

 {=IF( SUM(IF(ISBLANK(E1:E425),0,ROW(E1:E425))) = SUM(IF(ISBLANK(E1:E425),0,MATCH(E1:E425,E1:E425,0))) ,"unique","duplicates")} 

这是一个数组公式。 您不要显式键入封闭的{}。 而不用{}input公式,然后按cmd-input(或其他东西,如果不是Mac的话 – 去查看它!)如果你想分割你的公式在多行的可读性,使用cmd-ctrl-return苹果电脑。

该公式通过比较两个SUM()结果来工作。 如果它们相同,则所有非空项(数字或文本)都是唯一的。 如果不相等,则会有一些重复。 该公式不会告诉你重复的地方。

第一个总和就是把每个非空白条目的行号加起来。

第二个和用MATCH()查找每个非空项。 如果所有条目都是唯一的,则MATCH()会在每个条目的自己的位置查找,结果与第一个和相同。 但是,如果有重复的条目,那么以后的重复将匹配较早的重复,后面的重复将贡献一个不同的值,总和将不匹配。

您可能需要调整这个公式:

  • 如果您希望包含“”的单元格计为空白,则对ISBLANK(…)使用LEN(…)= 0。 如果你愿意,我想你可以把其他的testing放在那里,但是我没有尝试过。

  • 如果你想testing一个不在第1行开始的数组,那么你应该从ROW(…)中减去一个常量。

  • 如果你有一个巨大的单元格列,你可能会得到整数溢出时,计算这个总和。 我没有解决scheme。

Excel中没有ISUNIQUE()函数真是太遗憾了!

突出显示E并在主页选项卡上select条件格式>突出显示单元格规则>重复值…然后突出显示所有重复的内容。

如果您必须补偿空白单元格,请使用@brettdj提供的公式,

  1. 调整独特计数的分子来检查非空白。
  2. 将一个零长度的string添加到COUNTIFS的标准参数中。

    = SUMPRODUCT((E1:E425 <> “”)/ COUNTIF(E1:E425,E1:E425& “”))

在分子中检查非空白单元格意味着任何空白单元格将返回一个零。 无论分子是什么,分子中零点的分数都是零。 附加到COUNTIF标准部分的空string足以避免#DIV/0! 错误。

更多信息在计数独特与SUMPRODUCT()细分 。

这可能是一个更简单的解决scheme。 假设列A包含有问题的数据。 sorting在该列上。 然后,从B2(或第一个非空白单元格)开始,使用以下公式:= IF(A2 = A1,1,0)。

总和那个专栏。 当sum = 0时,所有值都是唯一的。