Emmanuel想知道他如何使用条件格式突出显示一个单元格(如果该单元格包含数字和字母的混合)。如果它包含所有字母或所有数字,则不应突出显示该单元格。

在本文中,我将不着重于如何创建条件格式。还有很多其他针对该任务的ExcelTips。我将重点介绍可用于定义条件格式设置规则的一些公式。该公式需要检查单元格中的值,如果它同时包含字母和数字,则返回“ True”,在所有其他实例中返回“ False”。

您可以在规则中尝试以下三种不同的公式:

=SUM(IFERROR(FIND(ROW($1:$10)-1,A1),))*ISTEXT(A1)

=AND(ISTEXT(A1),MATCH(FALSE,ISERROR(1*MID(A1,ROW(INDIRECT("1:15")),1)),0))

=AND(SUM(--(ISNUMBER(--MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)))),ISTEXT(A1))

这些公式中的任何一个都可以正常工作(我个人会选择使用最短的公式-减少键入!),但是存在一个潜在的缺点。如果您有一个数字存储在一个单元格中,并且该单元格的格式设置为“文本”,则公式仍将返回“ True”,并且将应用条件格式。发生这种情况的原因是每个公式都使用ISTEXT函数,该函数查看单元格的格式以查看其是否包含文本。

解决这种潜在的“误报”的最简单方法是创建用户定义的函数(宏),然后可以在条件格式设置规则中引用该函数。这是一个非常简单的UDF,仅当单元格内容(而不是其格式)同时包含字母和数字时才返回“ True”:

Function CheckChars(r As Range) As Boolean     CheckChars = False     If r Like "#" And UCase(r) Like "[A-Z]" Then CheckChars = True End Function

为了在条件格式设置规则中使用此命令,只需使用以下公式:

=CheckChars(A1)

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(13422)适用于Microsoft Excel 2007、2010、2013和2016。