excel countif 按样式过滤

excel countif 按样式过滤

我有一个 Excel 电子表格,我想根据应用于列中某些单元格的样式来计算列中的行数。有没有简单的方法可以做到这一点?

答案1

不,不是这样的。您可以使用 Visual Basic 访问单元格格式属性,但您在单元格中输入的大多数内置函数都侧重于单元格内容,而不是格式。

如果您的样式有不同的阴影颜色,那么您可以使用以下方法。

步骤 1:将您的范围转换为列表,然后添加显示 COUNT 的总行

在此处输入图片描述

第 2 步:应用颜色过滤器(适用于 Excel 2007 及更高版本):

在此处输入图片描述

完成:COUNT 总数将显示过滤后的行数。

在此处输入图片描述

答案2

您可以使用 VBA 来实现:

Function CountStyle(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Neutral"
      If Item.Style = "Neutral" Then
         Total = Total + 1
      End If
   Next Item
   CountStyle = Total
End Function

取自这里

  1. Alt+F11启动 Visual Basic 编辑器。
  2. 插入 > 模块
  3. 插入以上代码
  4. 转到 Excel 并选择结果所在的单元格。例如写入=CountStyle (B4:B23)

现在您已统计了具有 样式 的所有单元格Neutral。我为中性、好、坏创建了三个函数。如下所示:

Function CountStyleGood(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Good"
      If Item.Style = "Good" Then
         Total = Total + 1
      End If
   Next Item
   CountStyleGood = Total
End Function

=CountStyleGood(B4:B23)将获得结果。我使用功能区中显示的名称作为样式的名称。

相关内容