Excel 突出显示单元格范围内的第二个条目

Excel Highlight Second Entry within a Range of Cells

我正在尝试突出显示单元格范围内第二个条目(及之后)的单元格。我很想在我的出勤跟踪中实现这个功能。

例如,在下图中,我有“Peter”、“John”和“Tom”。如果只有一个人缺席,我不需要强调任何东西,如下图。

但是,如果“汤姆”或“约翰”是第二个被输入为“不在”(缺席)的人,我想突出显示这些单元格,如下所示。

最后,如果最后一个离开的人也不在,我也想强调一下,如下图

C 列中的值不限于这些短语(“缺席”、“离开”、“不在”)。

从另一个角度来看,我想突出显示单元格范围内的第二个和后面的条目。有没有一种方法可以在不使用 VBA 或宏的情况下实现这种功能?可以使用条件格式吗?

请指教。非常感谢!

您可以使用 Worksheet_Change 事件将时间戳添加到辅助列。就我而言,我将其添加到 D 列:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim myrange As Range
    Set myrange = Range("C3:C9")
    If Not Application.Intersect(myrange, Range(Target.Address)) Is Nothing And Target.Count = 1 Then
            If Target.Value = "" Then
                Target.Offset(0, 1).Value = ""
            Else
                Target.Offset(0, 1).Value = Now()
            End If
    End If
End Sub

然后使用如下方式在 C 列上使用条件格式:

=$D3>=SMALL($D:$D,2)

这将突出显示时间戳大于第二小时间戳(忽略空白)的所有行。

这是它的一个实际例子。出于说明目的,我将我在 C 列中键入内容的顺序而不是“缺席”、“不在此处”等