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 列中键入内容的顺序而不是“缺席”、“不在此处”等
我正在尝试突出显示单元格范围内第二个条目(及之后)的单元格。我很想在我的出勤跟踪中实现这个功能。
例如,在下图中,我有“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 列中键入内容的顺序而不是“缺席”、“不在此处”等