具有条件格式的Excel COUNTIF

时间:2018-02-16 05:00:30

标签: excel colors formatting conditional countif

我有一张表(出勤表),我手动输入了员工的出勤率。

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

  1. 如果有人在上午9:30之后进入办公室,黄色将突出显示该单元格。
  2. 如果有人缺席,单元格中的“A”会将单元格突出显示为红色。
  3. 如果有人休假,单元格中的“离开”会将单元格突出显示为绿色。 等等...
  4. 这一切都很好,完美无缺。

    现在问题。

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

    https://imgur.com/a/FLsAV

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

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

    请帮忙。

2 个答案:

答案 0 :(得分:0)

打开开发人员标签(快捷键 - 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中编写这样的公式as = colorfunction(D1,A:A,FALSE)

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

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

Screenshot

答案 1 :(得分:0)

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

相关问题