Calcular la media de los ultimos 15dias

23/08/2005 - 16:27 por Salvador | Informe spam
Tengo una tabla de valores que se llenan dia a dia.
Las filas corresponden a los dias del mes
Las comunas corresponden a los meses.
A medida que pasan los dias completamos la celda correspondiente con un
valor numerico.
¿Como puedo saber la media de los ultimos 15 dias?

Gracias

Preguntas similare

Leer las respuestas

#11 KL
25/08/2005 - 10:22 | Informe spam
Hola Salvador,

La formula que enviastes por error, "funciona" y la buena tambien. No
entiendo muy bien cual es la diferencia entre ambas y cual es la mejor a
utilizar.



La primera formula solo funciona si los 15 dias se parten en dos columnas
(dos meses). Si todos estan en la misma es cuando la formula falla. O sea
que deberias usar la segunda.

Por cierto, ¿donde esta esa "Playa"? es por situarte geograficamente,



La playa de Albir esta en la Costa Blanca a un par de km de Benidorm
(Alicante), pero la semana que viene vuelvo a Barcelona - "se acabo las
vacaciones..."

Saludos,
KL
Respuesta Responder a este mensaje
#12 daniel_hg
25/08/2005 - 13:39 | Informe spam
Hola, se me ha colado la línea de la ventana inmediato. Esta línea se puede
eliminar sin ningún problema. Es la línea
**********************
Debug.Print valor
**********************
Saludos.


"daniel_hg" escribió en el mensaje
news:
Hola. Te mando un código que te puede valer.
También te mando el libro con el código implementado.
Saludos. Si tuvieses algún problema, postéalo.

************************************************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets.Application.EnableEvents = False


Dim i As Long
Dim valor As Long
Dim total As Long
Dim rng As Range
Dim rng15 As Range
Dim rngmenos15 As Range
Dim celdasconvalor As Integer

Set rng = Range("C6:N36")
Set rng15 = rng.Columns(Month(Date))
Set rngmenos15 = rng.Columns(Month(Date) - 1)

If Month(Date) = 1 And Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / Day(Date)
Worksheets.Application.EnableEvents = True
Exit Sub
End If

If Day(Date) >= 15 Then
For i = Day(Date) - 14 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Debug.Print valor
Next i
Range("M41").Value = total / 15
End If

If Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
celdasconvalor =
Application.WorksheetFunction.CountIf(rngmenos15, ">0")
For i = celdasconvalor - 14 + Day(Date) To celdasconvalor
valor = rngmenos15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / 15
End If
Worksheets.Application.EnableEvents = True
End Sub
********************************************************************************************************************
"Salvador" escribió en el mensaje
news:e4pRV7%
Tengo una tabla de valores que se llenan dia a dia.
Las filas corresponden a los dias del mes
Las comunas corresponden a los meses.
A medida que pasan los dias completamos la celda correspondiente con un
valor numerico.
¿Como puedo saber la media de los ultimos 15 dias?

Gracias







Respuesta Responder a este mensaje
#13 mochuelo
27/08/2005 - 10:07 | Informe spam
Hola Daniel, muy amable.
Ya te diré
El ejemplo de nuestro amigo KL es tambien valido,la segunda opcion.
Un saludo
"daniel_hg" escribió en el mensaje
news:
Hola, se me ha colado la línea de la ventana inmediato. Esta línea se
puede eliminar sin ningún problema. Es la línea
**********************
Debug.Print valor
**********************
Saludos.


"daniel_hg" escribió en el mensaje
news:
Hola. Te mando un código que te puede valer.
También te mando el libro con el código implementado.
Saludos. Si tuvieses algún problema, postéalo.

************************************************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets.Application.EnableEvents = False


Dim i As Long
Dim valor As Long
Dim total As Long
Dim rng As Range
Dim rng15 As Range
Dim rngmenos15 As Range
Dim celdasconvalor As Integer

Set rng = Range("C6:N36")
Set rng15 = rng.Columns(Month(Date))
Set rngmenos15 = rng.Columns(Month(Date) - 1)

If Month(Date) = 1 And Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / Day(Date)
Worksheets.Application.EnableEvents = True
Exit Sub
End If

If Day(Date) >= 15 Then
For i = Day(Date) - 14 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Debug.Print valor
Next i
Range("M41").Value = total / 15
End If

If Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
celdasconvalor =
Application.WorksheetFunction.CountIf(rngmenos15, ">0")
For i = celdasconvalor - 14 + Day(Date) To celdasconvalor
valor = rngmenos15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / 15
End If
Worksheets.Application.EnableEvents = True
End Sub
********************************************************************************************************************
"Salvador" escribió en el mensaje
news:e4pRV7%
Tengo una tabla de valores que se llenan dia a dia.
Las filas corresponden a los dias del mes
Las comunas corresponden a los meses.
A medida que pasan los dias completamos la celda correspondiente con un
valor numerico.
¿Como puedo saber la media de los ultimos 15 dias?

Gracias











Respuesta Responder a este mensaje
#14 mochuelo
27/08/2005 - 10:11 | Informe spam
FABULOSO!!!
Gracias por todo, va a la perfeccion.
"daniel_hg" escribió en el mensaje
news:
Hola, se me ha colado la línea de la ventana inmediato. Esta línea se
puede eliminar sin ningún problema. Es la línea
**********************
Debug.Print valor
**********************
Saludos.


"daniel_hg" escribió en el mensaje
news:
Hola. Te mando un código que te puede valer.
También te mando el libro con el código implementado.
Saludos. Si tuvieses algún problema, postéalo.

************************************************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets.Application.EnableEvents = False


Dim i As Long
Dim valor As Long
Dim total As Long
Dim rng As Range
Dim rng15 As Range
Dim rngmenos15 As Range
Dim celdasconvalor As Integer

Set rng = Range("C6:N36")
Set rng15 = rng.Columns(Month(Date))
Set rngmenos15 = rng.Columns(Month(Date) - 1)

If Month(Date) = 1 And Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / Day(Date)
Worksheets.Application.EnableEvents = True
Exit Sub
End If

If Day(Date) >= 15 Then
For i = Day(Date) - 14 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Debug.Print valor
Next i
Range("M41").Value = total / 15
End If

If Day(Date) < 15 Then
For i = 1 To Day(Date)
valor = rng15.Cells(i).Value
total = total + valor
Next i
celdasconvalor =
Application.WorksheetFunction.CountIf(rngmenos15, ">0")
For i = celdasconvalor - 14 + Day(Date) To celdasconvalor
valor = rngmenos15.Cells(i).Value
total = total + valor
Next i
Range("M41").Value = total / 15
End If
Worksheets.Application.EnableEvents = True
End Sub
********************************************************************************************************************
"Salvador" escribió en el mensaje
news:e4pRV7%
Tengo una tabla de valores que se llenan dia a dia.
Las filas corresponden a los dias del mes
Las comunas corresponden a los meses.
A medida que pasan los dias completamos la celda correspondiente con un
valor numerico.
¿Como puedo saber la media de los ultimos 15 dias?

Gracias











email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida