使用 Excel 查找列中连续日期的序列
Using Excel to Find Sequences of Consecutive Dates in a Column
我有一列日期,格式为:yyyymmdd。
示例如下:
19480110
19480111
19480115
19480119
19480124
19480130
19480131
19480201
19480204
19480209
19480210
19481225
19481226
19490212
19491210
19500108
19500208
我希望能够仅识别具有 3 个或更多个连续日期的单元格。在这种情况下,具有以下值的单元格将突出显示:
19480130
19480131
19480201
目前,我有以下形式的公式:
=IF(A2=A1+1, "Match", "")
但是,当月份发生变化时,它无法识别实例,如本例所示:它仅在包含“19480131”的单元格旁边打印匹配项。有没有办法用目前的格式来解释月份的变化?
谢谢!
怎么样=IF(A2=A1+1, "Match", IF(AND(OR(MOD(A1, 100) = 31, MOD(A1, 100) = 30, MOD(A1, 100) = 29, MOD(A1, 100) = 28), MOD(A2, 100) = 1), "Match", ""))
话虽如此,但需要注意的是,如果您有 1 月 28 日和 2 月 1 日,它会说这是连续的,而您知道它不是。如果你想要没有那个问题的东西,我可以编码。
您需要将日期文本转换为日期值,例如
=IF(DATE(VALUE(LEFT(A2,4)),VALUE(MID(A2,5,2)),VALUE(RIGHT(A2,2)))=DATE(VALUE(LEFT(A1,4)),VALUE(MID(A1,5,2)),VALUE(RIGHT(A1,2)))+1, "Match", "")
使用从 A2 开始的 A 列中的数据,在 B2 中输入:
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
然后抄下来。这将转换为实际日期。然后在 C2 中输入:
=B2-B1
并抄下来
如果C列中有两个连续的1,我们有一个连续的三元组(至少)。所以在 D2 中输入:
=IF(OR(AND(C2=1,C3=1), AND(C2=1,C1=1), AND(C4=1,C3=1)),"*","")
我有一列日期,格式为:yyyymmdd。 示例如下:
19480110
19480111
19480115
19480119
19480124
19480130
19480131
19480201
19480204
19480209
19480210
19481225
19481226
19490212
19491210
19500108
19500208
我希望能够仅识别具有 3 个或更多个连续日期的单元格。在这种情况下,具有以下值的单元格将突出显示:
19480130
19480131
19480201
目前,我有以下形式的公式:
=IF(A2=A1+1, "Match", "")
但是,当月份发生变化时,它无法识别实例,如本例所示:它仅在包含“19480131”的单元格旁边打印匹配项。有没有办法用目前的格式来解释月份的变化?
谢谢!
怎么样=IF(A2=A1+1, "Match", IF(AND(OR(MOD(A1, 100) = 31, MOD(A1, 100) = 30, MOD(A1, 100) = 29, MOD(A1, 100) = 28), MOD(A2, 100) = 1), "Match", ""))
话虽如此,但需要注意的是,如果您有 1 月 28 日和 2 月 1 日,它会说这是连续的,而您知道它不是。如果你想要没有那个问题的东西,我可以编码。
您需要将日期文本转换为日期值,例如
=IF(DATE(VALUE(LEFT(A2,4)),VALUE(MID(A2,5,2)),VALUE(RIGHT(A2,2)))=DATE(VALUE(LEFT(A1,4)),VALUE(MID(A1,5,2)),VALUE(RIGHT(A1,2)))+1, "Match", "")
使用从 A2 开始的 A 列中的数据,在 B2 中输入:
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
然后抄下来。这将转换为实际日期。然后在 C2 中输入:
=B2-B1
并抄下来
如果C列中有两个连续的1,我们有一个连续的三元组(至少)。所以在 D2 中输入:
=IF(OR(AND(C2=1,C3=1), AND(C2=1,C1=1), AND(C4=1,C3=1)),"*","")