Amol在Excel工作表中具有1,000个值,每行10列,占100行。此范围内的每个值都是0到99之间的整数。Amol需要一种计数和显示所有奇数且大于50的值的方法。

您可以通过几种方法进行计数和显示,但重要的是要了解它们是不同的任务。显示符合条件的值的最佳方法可能是使用条件格式。您可以向每个单元格添加条件格式设置规则,以使其加粗或突出显示所需的值。请按照下列步骤操作:

。选择包含您的数据的单元格。

。显示功能区的“主页”选项卡。

。单击“样式”组中的“条件格式设置”工具。 Excel将显示与条件格式相关的选项面板。

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

(请参见图1。)

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

。在公式框中输入公式= AND(MOD(A1,2),A1> 50)。

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

(请参见图2。)

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

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

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

如果愿意,还可以在步骤6中使用以下公式:

=AND(ISODD(A1),A1>50)

要获取符合条件的单元格计数,可以使用数组公式:

=SUM(MOD(MyCells,2)*(MyCells>50)

此公式假定您要分析的单元格区域名为MyCells。不要忘记使用Ctrl + Shift + Enter输入单元格。

如果您不想使用数组公式,则可以使用以下命令:

=SUMPRODUCT((MOD(MyCells,2)*(MyCells>50))

您还可以使用宏来导出单元格和计数。以下是此类宏的简单版本;它将符合条件的单元格的值放入M列,然后显示其中有多少个单元格的计数:

Sub SpecialCount()

Dim c As Range     Dim i As Integer

i = 0     For Each c In Range("A2:J101")

If c.Value > 50 And c.Value Mod 2 Then             i = i + 1             Range("L" & i).Value = c.Value         End If     Next c

MsgBox i & " values are odd and greater than 50", vbOKOnly End Sub

注意:

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

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

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

本技巧(12597)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。