假设您通常将信息从另一个程序导入Excel。该信息包含数字值,但也可以包含空格。您可能要对导入的信息使用条件格式来突出显示任何零值。问题是,如果仅添加突出显示单元格的条件格式以查看它们是否为零,那么该条件还将突出显示任何空白单元格,因为它们也包含“零”值。

对于这种困境有几种不同的解决方案。一种解决方案是应用使用两个条件的条件格式。第一个条件检查空白,第二个条件检查零值。

检查空白的条件不需要调整任何格式,但是检查零值的条件可以。之所以可行,是因为如果满足第一个条件(单元格为空),则永远不会测试第二个条件。请执行以下操作:

。选择要条件格式化的范围。 (对于此示例,我假设您已选择范围A2:A99。)

。在显示功能区的“主页”选项卡的情况下,单击“样式”组中的“条件格式”选项。 Excel将显示与条件格式相关的选项面板。

。单击管理规则。 Excel将显示“条件格式设置规则管理器”对话框。

。单击新规则。 Excel将显示“新格式设置规则”对话框。

。在对话框顶部的“选择规则类型”区域中,选择“仅格式化包含的单元格格式”。 (请参见图1。)

。使用规则的第一个下拉列表,选择“空白”。

。单击确定。 Excel关闭“新建格式规则”对话框,然后再次显示“条件格式规则管理器”对话框,这一次将显示您的新规则。 (请注意,您没有为此规则指定任何格式;可以。)

。确保为规则选择了“如果为真则停止”复选框。

。单击新规则。 Excel再次显示“新建格式规则”对话框。

。在对话框顶部的“选择规则类型”区域中,选择“仅格式化包含的单元格格式”。

。使用规则的第一个下拉列表,选择“单元格值”。

。使用规则的第二个下拉列表,选择“等于”。

。在条件2的值框中,输入0。 。单击格式按钮。 Excel将显示“设置单元格格式”对话框。

。根据需要使用对话框中的控件来修改格式。

。单击“确定”关闭“设置单元格格式”对话框。

。单击“确定”关闭“新建格式规则”对话框。 Excel再次显示条件格式规则管理器,而您刚定义的规则是列表中的第一个。 (也应该选择它。)

。单击向下箭头将刚创建的规则移到规则列表中的第二个位置。

。单击“确定”关闭“条件格式设置规则管理器”对话框。

格式化将应用于您在步骤1中选择的单元格范围。

另一个解决方案是将两个条件合并为一个条件。请按照下列步骤操作:

。选择要条件格式化的范围。 (对于此示例,我假设您已选择范围A2:A99。)

。在显示功能区的“主页”选项卡的情况下,单击“样式”组中的“条件格式”选项。 Excel将显示与条件格式相关的选项面板。

。单击新规则。 Excel将显示“新格式设置规则”对话框。

。在对话框顶部的“选择规则类型”区域中,选择“使用公式来确定要格式化的单元格”。

。在公式框中输入公式= AND(A2 = 0,A2 <>“”)。

。单击格式按钮。 Excel将显示“设置单元格格式”对话框。

(请参见图2。)

。根据需要使用对话框中的控件来修改格式。

。单击“确定”关闭“设置单元格格式”对话框。

。单击“确定”关闭“新建格式规则”对话框。格式化将应用于您在步骤1中选择的单元格范围。

在第5步中使用的公式进行检查以确保该值为0,并且该单元格不是空白。 AND函数可确保仅当两个条件都满足时,公式才会返回True,并应用格式。

还有许多其他公式也可以使用。例如,可以在步骤5中替换以下每个公式:

  • = AND(COUNT(A2)= 1,A2 = 0)

  • = AND(A2 = 0,NOT(ISBLANK(A2)))

  • = AND(A2 = 0,LEN(A2)> 0)

NOT(ISBLANK(A2))(A2 = 0)

如果您想要一种更快的方法来忽略空格而突出显示零值,则可以考虑使用宏。宏会更快,因为您可以导入并运行它。您不必选择一个单元格范围,也不必输入条件格式的公式。以下宏是您可以使用的宏的一个示例:

Sub FormatRed()

TotalRows = 5000     ColNum = 1

For i = 1 To Cells(TotalRows, ColNum).End(xlUp).Row         Cells(i, ColNum).Interior.ColorIndex = xlAutomatic         If IsNumeric(Cells(i, ColNum).Value) Then             If Cells(i, ColNum).Value = 0 Then                 Cells(i, ColNum).Interior.ColorIndex = 3             End If         End If     Next End Sub

宏检查A列中的单元格。(它检查第1到5,000行中的单元格;如果需要,您可以对其进行修改。)如果该单元格包含一个数字值并且该值为零,则该单元格将用红色填充。

如果该单元格包含其他内容,则将其设置回其正常颜色。

注意:

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

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

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

本技巧(7131)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本:

链接:/ excel-Conditional_Formats_that_Distinguish_Blanks_and_Zeroes [区分空白和零的条件格式]。