我有一张表(出勤表),我手动输入了员工的出席情况。
现在,在工作表上应用了一些条件格式。例如:
这一切都很好,完美无缺。
现在问题。
我已在工作表的“图例”区域中手动设置颜色,以供公式countif参考。
当我想使用COUNTIF计算员工迟到,缺席或休假的总天数时,我选择一个单元格,输入公式,例如我想计算员工迟到的天数,我使用, = COUNTIF(H1:H30,A4)...(其中A4是黄色的单元格,H1:H30是范围)。
当我通过条件格式突出显示黄色单元格时,结果返回“0”。我已经尝试通过谷歌和YouTube工作几个小时但无济于事。
请帮忙。
使用countifs()函数同时计算所有条件。并确保具有颜色的单元格不为空。必须有一些相关数据。您不能仅基于单元格颜色(没有VBA)计算值。
打开开发人员选项卡(快捷键 - 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)并选择&按回车键。