具有条件格式的Excel COUNTIF

问题描述 投票:0回答:2

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

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

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

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

现在问题。

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

https://imgur.com/a/FLsAV

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

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

请帮忙。

excel colors formatting conditional countif
2个回答
0
投票

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


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

© www.soinside.com 2019 - 2024. All rights reserved.