Filtrar datos

04/10/2004 - 15:33 por mfernandez | Informe spam
Hola a todos.

Necesito la ayuda.
Deseo filtrar más datos de este archivo, tomando en cuenta
que que los datos que están abajo son el resultado de la
filtración de un archivo *.txt a una hoja de excel y por
ende se genera cada linea en una sola celda. Quiero sacar
una estadistica por cada user-name del tiempo que start
hasta al momento del stop. Tomando en cuenta que el usuer-
name pueden tener varios start y stop. Y su vez tener la
sumatoria de los tiempos totales de c/usuarios



User-Name = "spreckler"
User-Name = "spreckler"
Acct-Status-Type = Start
User-Name = "daniel"
Acct-Status-Type = Stop
Acct-Session-Time = 5408
User-Name = "spreckler"
Acct-Status-Type = Stop
Acct-Session-Time = 8775
User-Name = "tulcan"
User-Name = "tulcan"
Acct-Status-Type = Start
User-Name = "tulcan"
Acct-Status-Type = Stop
Acct-Session-Time = 129
User-Name = "tulcan"
User-Name = "daniel"
User-Name = "tulcan"
Acct-Status-Type = Start
User-Name = "daniel"
Acct-Status-Type = Start
User-Name = "tulcan"
Acct-Status-Type = Stop
Acct-Session-Time = 130
User-Name = "spreckler"
User-Name = "spreckler"
Acct-Status-Type = Start
User-Name = "manta"
User-Name = "manta"
Acct-Status-Type = Start
User-Name = "spreckler"
Acct-Status-Type = Stop
Acct-Session-Time = 510
User-Name = "manta"
Acct-Status-Type = Stop
Acct-Session-Time = 776
User-Name = "ambato"
User-Name = "ambato"
Acct-Status-Type = Start
User-Name = "ambato"
User-Name = "ambato"
Acct-Status-Type = Start
User-Name = "ambato"
Acct-Status-Type = Stop
Acct-Session-Time = 1071



Gracias por la ayuda
.
 

Leer las respuestas

#1 Héctor Miguel
04/10/2004 - 22:07 | Informe spam
hola, mfernandez !

... sacar una estadistica por cada user-name del tiempo ... hasta al momento del stop.
... el usuer-name pueden tener varios start y stop.
... tener la sumatoria de los tiempos totales de c/usuarios [...]



si mis suposiciones son correctas...
y si el listado con el extracto que mencionas se inicia [p.e.] en 'A2'
y tienes 'disponibles' las columnas 'B' y 'C'...
-> posicionate en la celda 'B2' y corre la siguiente macro.

saludos,
hector.
en un modulo de codigo 'normal' ==Sub ListarUsuarios_SumarTiempos()
Application.ScreenUpdating = False
Dim Listado As String, Celda As Range, Fila As Integer, _
Usuarios As New Collection, Tmp, Total As Double
With ActiveCell
Listado = Range(.Offset(, -1), .Offset(, -1).End(xlDown)).Address
For Each Celda In Range(Listado)
If Right(Celda, 1) = Chr(34) Then
Tmp = Mid(Celda, InStr(Celda, Chr(34)))
Tmp = Mid(Tmp, 2, Len(Tmp) - 2)
On Error Resume Next
Usuarios.Add Tmp, CStr(Tmp)
End If
Next
For Fila = 0 To Usuarios.Count - 1
.Offset(Fila) = Usuarios.Item(Fila + 1)
Total = 0
For Each Celda In Range(Listado)
If InStr(Celda, "Time") > 0 _
And InStr(Celda.Offset(-2), Usuarios.Item(Fila + 1)) > 0 _
Then Total = Total + CDbl(Mid(Celda, InStr(Celda, "=") + 2))
Next
.Offset(Fila, 1) = Total
Next
End With
End Sub

Preguntas similares