Excel - Formula con 5 escenarios distintos para analizar 18.000 lineas

   
Vista:

Formula con 5 escenarios distintos para analizar 18.000 lineas

Publicado por Hector ceballosaviles@gmail.com (1 intervención) el 04/02/2015 05:14:36
Chicos, necesito una mega fórmula para analizar 18.000 datos diarios, si alguien fuera tan amable de echarme una mano PORFAVOR.

La formula debería considerar los 5 posibles escenarios que aparecen en los 18.000 líneas que necesito analizar.

Adjunto el archivo que he preparado para ser lo mas claro posible.

Mil gracias de ante mano

Héctor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Formula con 5 escenarios distintos para analizar 18.000 lineas

Publicado por CoquitoPe (58 intervenciones) el 05/02/2015 04:14:33
Hector un saludo...
Con tus mismos datos ...
Te envio una sugerencia ... solo para los primeros dos casos...
al final de las 18,000 lineas en la casilla A1... si deseas le agregas "*** FINAL".. para finalizar o ejecutar por partes..
... o finaliza en la linea 20,000... como lo veras...
he creado hojas "Caso01"... "Caso02"... a los cuales traslado los valores
en las columnas A y B... escribe la linea y el caso... para verrificar...
... te divertira ?
----------------------------------------------

Dim sinLinea As Single
Dim sinCaso01, sinCaso02, sinCaso03, sinCaso04, sinCaso05, sinCaso06 As Single
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
sinLinea = 3: sinCaso01 = 1: sinCaso02 = 1 '.... etc... etc
Do
If Cells(sinLinea, "J") > 0 And Cells(sinLinea, "K") = 0 _
And Cells(sinLinea + 1, "J") = 0 And Cells(sinLinea + 1, "K") > 0 _
And Cells(sinLinea, "J") = Cells(sinLinea + 1, "K") Then
Cells(sinLinea, "A") = sinLinea: Cells(sinLinea + 1, "A") = sinLinea + 1
Cells(sinLinea, "B") = "Caso01": Cells(sinLinea + 1, "B") = "Caso01"
Range("A" & Trim(Str(sinLinea)) & ":L" & Trim(Str(sinLinea + 1))).Copy
Sheets("Caso01").Select
Sheets("Caso01").Range("A" & Trim(Str(sinCaso01))).Select
ActiveSheet.Paste
Worksheets("Hoja2 (2)").Select
sinLinea = sinLinea + 2
ElseIf Cells(sinLinea, "J") = 0 And Cells(sinLinea, "K") > 0 _
And Cells(sinLinea + 1, "J") > 0 And Cells(sinLinea + 1, "K") = 0 _
And Cells(sinLinea + 1, "J") < Cells(sinLinea, "K") Then
Cells(sinLinea, "A") = sinLinea: Cells(sinLinea + 1, "A") = sinLinea + 1
Cells(sinLinea, "B") = "Caso02": Cells(sinLinea + 1, "B") = "Caso02": sinLinea = sinLinea + 2
Range("A" & Trim(Str(sinLinea)) & ":L" & Trim(Str(sinLinea + 1))).Copy
Sheets("Caso02").Select
Sheets("Caso02").Range("A" & Trim(Str(sinCaso01))).Select
ActiveSheet.Paste
Worksheets("Hoja2 (2)").Select
sinLinea = sinLinea + 2
'---- continuar elseif...
Else
sinLinea = sinLinea + 1: If sinLinea > 20000 Then Stop
End If

Loop While Cells(sinLinea, "J") <> "*** FINAL"
End Sub
-----------------------
bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar