Excel 2007重复检查错误地将十六进制转换为指数

Excel 2007重复检查错误地将十六进制转换为指数,excel,excel-2007,excel-formula,hex,Excel,Excel 2007,Excel Formula,Hex,我有一个电子表格,用于验证一长串8位十六进制数字是否重复 它有两列-一列用于十六进制值,另一列使用以下公式检查重复项(假设第二列是B列): =COUNTIF($B:$B,B1) 除以下值外,这对大多数数字都适用: 69000700和690007E2 第一列的格式为文本,但是COUNTIF函数似乎正在对我的十六进制值进行某种不必要的隐式转换,并将第二个十六进制值作为指数(这将使其与第一个值相同) 我的十六进制列的格式似乎也无关紧要——COUNTIF函数总是将这些值解释为数字,因此它们看起来是重复的

我有一个电子表格,用于验证一长串8位十六进制数字是否重复

它有两列-一列用于十六进制值,另一列使用以下公式检查重复项(假设第二列是B列):

=COUNTIF($B:$B,B1)

除以下值外,这对大多数数字都适用:

69000700和690007E2

第一列的格式为文本,但是COUNTIF函数似乎正在对我的十六进制值进行某种不必要的隐式转换,并将第二个十六进制值作为指数(这将使其与第一个值相同)

我的十六进制列的格式似乎也无关紧要——COUNTIF函数总是将这些值解释为数字,因此它们看起来是重复的


有没有一种方法可以确保COUNTIF函数将这些单元格值作为字符串参数而不进行隐式转换?

也许可以使用公式添加额外的列

=CHAR(34) & B1 & CHAR(34)
抄写下来


公式将文本括在引号中,
“690007E2”
将不再被解释为
“69000700”
(Excel 2003)。

谢谢,成功了!我必须编辑我的COUNTIF函数来添加IF语句,所以现在它是=IF(B1“”,COUNTIF($B:$B,B1),0)。此编辑是必需的,因为添加了引号后,COUNTIF函数将所有空单元格视为重复单元格。转换后,它将保持转换状态。在将值放入单元格之前,应将其格式化为文本。我认为这样可以避免helper列。这是COUNTIF(或SUMIF、COUNTIF、AVERAGEIF等“IF”函数族)特有的问题,它总是将任何可以解释为数字的文本值视为该数字,例如,像1/1这样的值可能会被解释为日期-使用SUMPRODUCT可以在不更改数据的情况下解决这个问题,例如,
=SUMPRODUCT(($B$1:$B$1000=B1)+0)
-效率较低(较慢),因此范围缩小了…..或者因为您实际上不需要计数,所以使用类似于
=ISNUMBER(匹配(B1,$B,0))
谢谢Barry。我不知道。