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

时间:2012-08-21 05:57:39

标签: excel excel-formula worksheet-function

我有一张excel表。

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

例如,在E54中我有 Hello Jack

如何检查此值以查看它是否在其他任何单元格中?

7 个答案:

答案 0 :(得分:21)

您可以使用

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

计算E1中唯一单元格的数量:425

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

答案 1 :(得分:2)

对将根据此公式突出显示的所有单元格使用条件格式:

  

COUNTIF(E:E,E1)<> 1

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

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

  

仅格式化唯一值或重复值

答案 2 :(得分:2)

我来到这里是因为我有这个问题,其中一个回复帮助我想出了这个......

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

答案 3 :(得分:1)

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

  1. 调整计数的分子,以检查非空白。
  2. 将一个零长度字符串添加到COUNTIFS的标准争论中。

    = SUMPRODUCT((E1:E425<> “中”)/ COUNTIF(E1:E425,E1:E425&安培; “”))

  3. 检查分子中的非空白单元格意味着任何空白单元格将返回零。无论分母是什么,分子中零的任何分数都将为零。附加到COUNTIF的条件部分的空字符串足以避免#DIV/0!错误。

    Count Unique with SUMPRODUCT() Breakdown的更多信息。

答案 4 :(得分:0)

此公式输出" 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")}

这是一个数组公式。您没有明确键入封闭的{}。相反,你输入没有{}的公式,然后按cmd-enter(如果不是Mac则输入其他东西 - 查看它!)如果你想将公式分成多个行以便于阅读,请使用cmd-ctrl-return on a Mac中。

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

第一笔金额是你通过将每个非空白条目的行号相加得到的。

第二个和使用MATCH()查找每个非空入口。如果所有条目都是唯一的,MATCH()会在每个条目的位置找到它们,结果与第一个和相同。但是如果有重复的条目,则稍后的副本将匹配较早的副本,而后面的副本将为该总和贡献不同的值,并且总和不会匹配。

您可能需要调整此公式:

  • 如果您想要包含""计为空白,然后使用LEN(...)= 0表示ISBLANK(...)。如果你愿意,我想你可以在那里进行其他测试,但我还没有尝试过。

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

  • 如果您有一大列单元格,则在计算此总和时可能会出现整数溢出。我没有解决方法。

遗憾的是Excel没有ISUNIQUE()函数!

答案 5 :(得分:0)

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

比该列的总和。当sum = 0时,所有值都是唯一的。

答案 6 :(得分:0)

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