这是一种未记录的行为,而不是缺陷。

这是一种未记录的行为,而不是缺陷。

如果我让 Excel 突出显示两个重复值PT_INTERNAL2859736,那么唯一值*736也会突出显示。为什么会发生这种情况?我该如何停止将唯一值突出显示为重复值?

我以为重复值规则是可靠的,直到我发现这个案例。

在此处输入图片描述

可以根据图像重现该问题。

现在,如果您重现了该行为,请尝试删除其中一个PT_值。另一个值将失去突出显示,但*736将保留突出显示!

         在此处输入图片描述

这是预期的行为吗重复值功能(我忽略了它的实用性)?或者这是一个需要报告的缺陷?


更新者伊利安斯基(2021-01-25):

<当其他符号(例如、><=>=位于单元格文本开头且列中有 2 个或更多非空单元格时,也可以观察到类似的未记录行为。查看示例这里(每列都是一个单独的例子)。

在处理 xml 文件(其中行通常以 开头)时,这可能会成为一个问题<

答案1

确实如此,因为*它被视为通配符。

解决这个问题的方法是使用公式插入波浪号 ( ~),以便*在条件格式中转义星号 ( ):

=COUNTIF(A:A,SUBSTITUTE(A1,"*","~*"))>1

答案2

在对行为和文档进行进一步研究之后,我可以从高层次的角度回答这个问题:

这是一种未记录的行为,而不是缺陷。

其他答案提醒我们在 Excel 公式中使用通配符 ( *, ?, ~)。之前未回答的问题是,它们是否也适用于条件格式。Microsoft 记录了重复值以下文章中介绍了条件格式的模式:

这些文章中没有提到查找重复项的内部算法仍然尊重通配符(*, ?, ~)。相反,在功能中明确指出了对通配符的支持,其中通配符的存在是显而易见且预期的:

但回到重复:可以讨论样本值PT_INTERNAL2859736*736是否重复根据定义。从常识上讲,不是。在 Excel 中,显然是的。Excel 可能只是使用其标准搜索算法(支持通配符)来搜索具有重复值的单元格……并且显示重复值的结果可能非常出乎意料,正如您在问题或此处看到的那样:

在此处输入图片描述

基于上述情况,我认为这不是一个缺陷,而是一种意外的、未记录的行为。

这在现实生活中带来了问题。你没有被警告,你需要一个特殊的公式来发现真正的重复。你只是被重复值条件格式类型,无需进一步解释。今天,我拿了一个包含 2000 个值的列表来为客户提供数据,在巧合和仔细检查结果后才发现误报。我差点删除了唯一值,因为列表中某处有重复值。

从 Excel 的角度来看,当前的行为是合乎逻辑的,但对于没有经验的用户来说,这是一个巨大的感叹号。如果有什么需要修复的话,至少是文档。

答案3

如果你谷歌excel asterisk wildcard conditional formatting会发现某人有同样的问题。

提出的解决方案是使用自定义公式来检查值是否重复。

公式如下:
=SUMPRODUCT(--(("~"&A2)=("~"&$A$2:$A$4)))>1

在此处输入图片描述

结果是:

在此处输入图片描述

相关内容