Excel - 如何根据单元格的颜色和相邻单元格的颜色对单元格进行计数?

时间:2016-07-14 16:31:57

标签: excel excel-formula

我正在Excel中创建日历/日程安排工作簿。 所有工作日都是蓝色的,周末的日子是红色的。

我需要做的一件事是计算一个人工作的工作日(bue cell)的数量,但没有星期五(也是蓝色单元格,但在红色单元格之上(星期六))。

计算一个人的工作日总数(蓝色单元格)是没有问题的:

 Function CountCcolor(range_data As Range, criteria1 As Range, criteria2 As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria1.Interior.ColorIndex
radiologist = criteria2.Value
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor And datax.Value = radiologist Then CountCcolor = CountCcolor + 1
    End If
Next datax
End Function

这包括星期五,我不想要。

是否可以扩展此代码以排除所有正好位于红色单元格上方的蓝色单元格?

1 个答案:

答案 0 :(得分:0)

使用Range.Offset property检查循环中单元格正下方的单元格。

For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor And _
       datax.OFFSET(1, 0).Interior.ColorIndex = xcolor And _
       datax.Value = radiologist Then
        CountCcolor = CountCcolor + 1
    End If
Next datax