在 MS Excel 中,我有几个列填充了文本值。为此,我创建了一个条件公式,用于突出显示同一列中重复多次的值。
但是,每当我在该列中的任何单元格中输入问号时?
,excel(条件公式)都会将其突出显示为重复值,即使整个列中没有其他问号。如何避免这种情况?
我使用的条件公式:
=countif(a1:a10, a1)>1
注意:我知道我可以用〜来转义问号,但我确实需要在其中一个单元格中输入一个问号。
答案1
答案2
COUNTIF 函数接受通配符,因此当单元格包含?
它时,会进行通配符搜索。
如果问题仅出在问号上,您可以进行测试:
=IF(a1="?", false, countif(a1:a10, a1)>1)
答案3
首先,您需要在条件格式公式中锁定范围引用。完全按照您已有的方式使用公式意味着条件格式不会按您预期的方式工作。对于单元格A1
,它将查看范围A1:A10
,但对于单元格A10
,它将查看范围A10:A19
。您的原始公式至少应该将行号设置为绝对值而不是相对值:=countif(a$1:a$10, a1)>1
。
无论如何,你都需要改变公式。COUNTIF()
接受通配符。?
表示单个字符,*
表示任意数量的字符。当单元格值为文字字符串时?
,它会计算范围内包含单个字符的单元格。相反,请尝试以下操作:
=AND(A1<>"",SUM(--EXACT(A1,A$1:A$10))>1)
EXACT()
检查两个输入是否完全匹配,并返回 或TRUE
。在前面FALSE
添加--
是一种将 TRUE 转换为 1 并将 FALSE 转换为 0 的快速方法,因为它是“负负”。您也可以使用1*
而不是--
。您只需要一些数学运算。然后,整个函数会计算范围内的所有精确匹配。由于它不使用 之类的通配符COUNTIF()
,因此升字符串?
仅被视为文字字符串。添加A1<>""
要求可使其忽略空白单元格。