Moin,
ich habe versucht, das mit einer Map zu lösen (braucht 3.3.16+). Das Ausgabeformat des Datums entspricht noch nicht Deiner Vorgabe, das lässt sich aber einfach anpassen.
AutoIt
#include <Date.au3>
; $aCSV = FileReadToArray("CSV.csv")
Dim $aCSV = ["1-G;10/10/2022 00:10:55", _
"2-G;10/10/2022 00:12", _
"3-G;10/10/2022 00:13", _
"1-G;10/10/2022 00:13:12", _
"4-G;10/10/2022 00:14", _
"1-G;10/10/2022 00:14:00", _
"2-G;10/10/2022 00:14", _
"6-G;10/10/2022 00:14", _
"7-G;10/10/2022 00:14", _
"1-G;10/10/2022 00:20:00"]
Dim $mTmp[]
Dim $aTmp[2]
Dim $sOut = ""
Dim $aDT, $aLN, $sDate, $sName
For $LN In $aCSV
$aLN = StringSplit($LN, ";")
$sName = $aLN[1]
$aDT = StringSplit($aLN[2], "/ ")
$sDate = $aDT[3] & "/" & $aDT[2] & "/" & $aDT[1] & " " & $aDT[4]
If MapExists($mTmp, $sName) Then
$aTmp = $mTmp[$sName]
If _DateDiff("s", $aTmp[0], $sDate) <= 300 Then
$aTmp[1] += 1
$mTmp[$sName] = $aTmp
ContinueLoop
EndIf
If $aTmp[1] > 1 Then
$sOut &= $sName & ";" & $aTmp[0] & ";Anzahl innerhalb 5 Min;" & $aTmp[1] & @CRLF
EndIf
EndIf
$aTmp[0] = $sDate
$aTmp[1] = 1
$mTmp[$sName] = $aTmp
Next
For $K In MapKeys($mTmp)
$aTmp = $mTmp[$K]
If $aTmp[1] > 1 Then
$sOut &= $K & ";" & $aTmp[0] & ";Anzahl innerhalb 5 Min;" & $aTmp[1] & @CRLF
EndIf
Next
MsgBox(0, "Ergebnis", $sOut)
Alles anzeigen
Gibt es übrigens wirklich unterschiedliche Zeitangaben (mit/ohne Sekunden) in der CSV-Datei?