【问题标题】:Excel COUNTIF with conditional formatting带条件格式的 Excel COUNTIF
【发布时间】:2018-07-26 23:34:51
【问题描述】:

我有一张表(考勤表),我在其中手动输入了员工的考勤。

现在在工作表上应用了一些条件格式。例如:

  1. 如果有人在上午 9:30 之后进入办公室,则黄色将突出显示单元格。
  2. 如果有人缺席,单元格中的“A”会将单元格突出显示为红色。
  3. 如果有人正在休假,则单元格中的“离开”会将单元格突出显示为绿色。 等等……

这一切都很好,完美无缺。

现在问题来了。

我已在工作表的“图例”区域手动设置颜色,以供公式 countif 参考。

https://imgur.com/a/FLsAV

当我想使用 COUNTIF 计算员工迟到、缺勤或休假的总天数时,我选择一个单元格,输入公式,例如我想计算员工迟到的天数,我使用 =COUNTIF(H1:H30,A4)...(其中 A4 是黄色的单元格,H1:H30 是范围)。

当我通过条件格式突出显示黄色单元格时,结果返回“0”。我已经通过谷歌和 YouTube 尝试了几个小时的工作,但无济于事。

请帮忙。

【问题讨论】:

  • 黄色单元格 A4 是空的吗?或者它是否包含“迟到”这个词?无论哪种情况,您的countif 公式都会计算包含与 A4 相同的 value 的单元格,而不是相同的 color
  • 你好,马特,是的,单元格是空的。如果有文本或者即使没有文本,问题仍然存在。有什么解决方案可以完成这项工作吗?

标签: excel colors formatting conditional countif


【解决方案1】:

使用 countifs() 函数同时计算所有条件。并确保带颜色的单元格不为空。其中一定有一些相对数据。您不能仅根据单元格颜色(没有 VBA)计算值。

【讨论】:

  • 感谢 Owais bhai 的建议。我会调查并恢复。如果你能提供一个例子,我将不胜感激。
【解决方案2】:

打开开发者标签(快捷键 - Alt+PF11)

插入一个模块并在其中插入以下代码。

 Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
 Dim rCell As Range
 Dim lCol As Long
 Dim vResult
   lCol = rColor.Interior.ColorIndex
   If SUM = True Then
    For Each rCell In rRange
   If rCell.Interior.ColorIndex = lCol Then
    vResult = WorksheetFunction.SUM(rCell, vResult)
   End If
  Next rCell
  Else
  For Each rCell In rRange
  If rCell.Interior.ColorIndex = lCol Then
  vResult = 1 + vResult
  End If
  Next rCell
  End If
  ColorFunction = vResult
End Function

假设您在 A 列中有彩色单元格(例如:黄色),在 D1 中有图例(黄色)。现在您可以在 E1 中将您的公式写成 =colorfunction(D1,A:A,FALSE)

假设您在 A 列中有彩色单元格(例如:黄色),在 D1 中有数据和图例(黄色)。现在您可以编写公式以在 E1 中获得所有黄色的总和,例如 =colorfunction(D1 ,A:A,真)

注意:如果您不更改数据,我看到的唯一问题是它不会自动更新。在这种情况下,您需要转到该公式单元格(例如:E1)并选择并按 Enter 键。

Screenshot

【讨论】:

  • 嘿,纳文。兄弟它不工作。即使复制粘贴您在模块中提供的代码并插入您提供的两种方式的公式,单元格值仍然为 0。
  • 它对我有用。试试我在我添加的注释中提到的。如果它仍然不起作用你能添加我们将整理的屏幕截图吗?
  • 请分享您的电子邮件。我会将文件发送给您。
  • ...这就是 Naveen 被黑的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多