在Excel中查找并突出显示重复的十进制值

我正在寻找一种方法来突出重复值在Excel中的列中。 这些是定义为文本的数值。 问题是当我使用正常的重复条件格式,它不完全工作。 重复的条件格式这些值的单倍或双倍小数例如:3.1和3.10。 当我使用条件格式时,它突出了3.1和3.10。 我的问题是我如何能够区分这两个值,所以他们不会被突出显示。 我试过使用一个VBA代码循环通过列中的每个单元格来检查重复,但我有一个包含100,000个值的列表,所以这是非常缓慢(10分钟完成)。

假设你有一个标题行的列(我只能得到这个工作省略列中的第一个单元格):

您可以使用此公式进行条件成形,将其应用到工作表的底部(我在创build工时使用了K列,但相应地调整了列标签)。

这是一种魅力,因为MATCH只能find精确的匹配,并且如果找不到,就会返回一个错误,条件格式公式检查上下两个值是否重复,并以自动特征的相同方式突出显示。

=IF(ISERROR(MATCH(K2,$K3:$K$1048571,0)),IF(ISERROR(MATCH(K2,$K$1:$K1,0)),FALSE,TRUE),TRUE)

唯一的问题是, 这只适用于所有的单元格被格式化为文本,而不是只有那些具有前导.0的单元格。 (2.51右alignment作为数字格式input)

例

你为什么认为3.1和3.10是不同的? 这是相等的价值。 所以默认的条件格式,甚至COUNTIF都会把它们视为相等。 只有可能性,我认为不同他们之间是使用SUMPRODUCT明确=比较。 但是,你必须缩小使用的范围,因为用于所有的行将是非常缓慢的。

假设值为文本,或者使用'或列格式化为TextA行1到10000,然后公式条件格式:

 =SUMPRODUCT(($A$1:$A$10000=$A1)*($A1<>""))>1 

可以应用于$A:$A