Excel:根据其他单元格中的最大值和最小值计算时间差

时间:2017-03-29 08:50:47

标签: excel vba excel-vba wireshark

我有一个基于Wireshark提取的excel文档,如下所示:

|No.|Time |Source  |Destination|Protocol|Length|Info                      | 
|1  |1.111|10.1.1.1|10.1.1.2   |UDP     |12    |Blah 11 blah blah SeqN: 13|  
|2  |7.456|10.1.1.2|10.1.1.1   |UDP     |12    |Blah 11 blah blah SeqN: 13|  
|3  |8.426|10.1.1.1|10.1.1.2   |UDP     |12    |Blah 11 blah blah SeqN: 14|  
|4  |9.356|10.1.1.2|10.1.1.1   |UDP     |12    |Blah 11 blah blah SeqN: 13|  
|5  |17.45|10.1.1.2|10.1.1.1   |UDP     |12    |Blah 11 blah blah SeqN: 14|  
|6  |18.46|10.1.1.1|10.1.1.2   |UDP     |12    |Blah 11 blah blah SeqN: 14|    
|7  |27.56|10.1.1.1|10.1.1.2   |UDP     |12    |Blah 11 blah blah SeqN: 15|  

我使用RegEX使用VBA脚本提取了SeqN,SeqN可以覆盖2-6行。我想要做的是确定周期时间。这是给定SeqN的最早和最晚条目之间的时间差,给定SeqN的第一个和最后一个条目(可以在0到255之间)。

我只是不确定如何根据另一个单元格中的相同条目选择时间变量。

这是我所希望的,SeqN我使用下面的脚本,然后是一个额外的列CycleTime

示例输出:

  SeqN     CycleTime
 SeqN:13     8.245          (or 9.356-1.111)

我提取SeqN的脚本:

Sub GetLastDigits()
    Dim Entries As Range, entry As Range
    Dim RegEx As Object, Matches As Object, Match As Object

    Set Entries = Range("G2:G1029")
    Set RegEx = CreateObject("vbscript.regexp")

    With RegEx
        .MultiLine = False
        .Global = True
        .IgnoreCase = True
        .Pattern = "SeqN: \d+"
    End With

    For Each entry In Entries
        Set Matches = RegEx.Execute(entry)
        If VBA.Left(Matches(Matches.Count - 1), 1) = 0 Then
            entry.Offset(0, 1) = VBA.Right(Matches(Matches.Count - 1), Len(Matches(Matches.Count - 1)) - 1)
        Else
            entry.Offset(0, 1) = Matches(Matches.Count - 1)
        End If
    Next entry
End Sub

0 个答案:

没有答案