我有一张excel表格。
在 E 列下,我有 425 个包含数据的单元格。我想检查相同的数据(即单元格内的文本)是否在 E 列下剩余的 424 个单元格中的任何其他地方重复。我该怎么做?
例如,在 E54 我有
Hello Jack
我将如何检查该值以查看它是否在这些单元格中的任何其他单元格中?
我有一张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 中更简单,只需进入条件格式并选择
仅格式化唯一值或重复值
如果您必须补偿空白单元格,请使用@brettdj 上面提供的公式,
将零长度字符串添加到 COUNTIFS 的标准参数。
=SUMPRODUCT((E1:E425<>"")/COUNTIF(E1:E425,E1:E425&""))
检查分子中的非空白单元格意味着任何空白单元格都将返回零。无论分母是什么,任何分子为零的分数都将为零。附加到标准部分的空字符串COUNTIF
足以避免#DIV/0!
错误。
使用 SUMPRODUCT() 分解的 Count 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苹果电脑。
该公式通过比较两个 SUM() 结果来工作。如果它们相等,则所有非空白条目(数字或文本)都是唯一的。如果它们不相等,则有一些重复。该公式不会告诉您重复项在哪里。
第一个总和是通过将每个非空白条目的行号相加得到的。
第二个总和使用 MATCH() 查找每个非空白条目。如果所有条目都是唯一的,则 MATCH() 在其自己的位置查找每个条目,结果与第一个总和相同。但是如果有重复的条目,那么后面的副本将匹配早期的副本,而后面的副本将为总和贡献不同的值,并且总和将不匹配。
您可能需要调整此公式:
如果您希望包含“”的单元格算作空白,则将 LEN(...)=0 用于 ISBLANK(...)。如果你愿意,我想你可以在那里进行其他测试,但我没有尝试过。
如果你想测试一个不是从第 1 行开始的数组,那么你应该从 ROW(...) 中减去一个常数。
如果您有大量单元格,则在计算此总和时可能会出现整数溢出。我对此没有解决方案。
遗憾的是 Excel 没有 ISUNIQUE() 函数!
突出显示 E 并在主页选项卡上选择条件格式 > 突出显示单元格规则 > 重复值...然后它将突出显示重复的所有内容。
这可能是一个更简单的解决方案。假设 A 列包含有问题的数据。按该列排序。然后,从 B2(或第一个非空白单元格)开始,使用以下公式:=IF(A2=A1,1,0)。
比该列的总和。当 sum = 0 时,所有值都是唯一的。