这让我很抓狂。请帮忙。
我有一份人事电子表格。Y 轴(A 列)上显示姓名。B 列反映每个员工的工作类别(文本字段)。X 轴顶部(CW 列)上显示月份中的日期。员工每天的活动由代表月份中的日期的单元格的背景颜色反映。如果病假以红色背景颜色显示,我如何计算按每个工作类别细分的红色单元格数量(反映在 B 列中的值中)?
答案1
请尝试此功能
Function CountCcolor(range_data As range, criteria As range) As Long
Dim datax As range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
点击这里知道如何使用上述功能。
答案2
Excel 中有一个公式可以读取单元格的颜色,
=CELL("color",A1)
不幸的是,它只会给出 0 或 1,具体取决于颜色是否为“负值颜色”。如果你的颜色(红色)恰好是那种“负值颜色”,或者你可以相应地调整该设置,则可以使用类似
=SUM(CELL("color",$C2:$W2))
(矩阵公式,输入时使用< CTRL > + < SHIFT > + < RET >)
它会给出有颜色的单元格的数量。如果您的颜色不是 Excel 的“负值颜色”,它将不起作用。