
Promedio rango de fechas
Publicado por Claudio (17 intervenciones) el 14/03/2025 14:40:59
Buenos días estimados,
Tengo la siguiente consulta como obtener el promedio del rango de datos la ultima y penúltima fecha de la columna K. Ósea si tengo datos en la columna K con fecha 13-03-2025 y 12-03-2025 haga el promedio de los datos de esas fechas, pero si hay datos en la columna K con fecha 13-03-2025 y 11-03-2025 solo haga el promedio del dia 13-03-2025. El promedio debe ir en la celda M1
Anteriormente tenia en la macro la consulta del ultimo y penúltimo dato solamente sin tener en cuenta la fecha. Aqui compara los dos datos si el ultimo es menor toma ese dato si es mayor realizar el promedio.
Tengo la siguiente consulta como obtener el promedio del rango de datos la ultima y penúltima fecha de la columna K. Ósea si tengo datos en la columna K con fecha 13-03-2025 y 12-03-2025 haga el promedio de los datos de esas fechas, pero si hay datos en la columna K con fecha 13-03-2025 y 11-03-2025 solo haga el promedio del dia 13-03-2025. El promedio debe ir en la celda M1
Anteriormente tenia en la macro la consulta del ultimo y penúltimo dato solamente sin tener en cuenta la fecha. Aqui compara los dos datos si el ultimo es menor toma ese dato si es mayor realizar el promedio.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Sub Cemento()
Dim Valor_1 As Single, Valor_CALIZA As Single, _
Dim Book_Moliend As Workbook, _
Book_BBDD As Workbook, _
Book_PREH As Workbook
Dim Hoja_CalCto As Worksheet, _
Hoja_Caliza As Worksheet, _
Hoja_Cemento As Worksheet
Dim Ruta_1 ' --- Fichero: MOLIENDA DE CEMENTO Y DESPACHOS FISICOS.xlsx
Ruta_1 = "E:\Claudio\Cemento\"
Application.ScreenUpdating = False
Set Hoja_Cemento = ThisWorkbook.Sheets("CEMENTO")
Set Book_PREH = Workbooks.Open(Ruta_1 + "PREHOMO.xlsx", ReadOnly:=False)
Set Hoja_CalCto = Book_PREH.Sheets("CALIZA ADICIÓN CTO")
' --- Busca la ultima fila con datos y captura el valor
With Hoja_CalCto
Fila = .Cells(4, "A").End(xlDown).Row
Valor_1 = 0 ' --- Ultimo dato
Valor_2 = 0 ' --- Penultimo dato
While Valor_1 = 0 Or Valor_2 = 0
If .Cells(Fila, "K") > 0 Then
If Valor_1 = 0 Then
Valor_1 = .Cells(Fila, "K")
Else
Valor_2 = .Cells(Fila, "K")
End If
End If
Fila = Fila - 1
Wend
End With
Book_PREH.Close
' ---&--- Si el ultimo es mayor toma el ultimo
If Valor_1 < Valor_2 Then
Valor_CALIZA = Valor_1
Else
Valor_CALIZA = (Valor_1 + Valor_2) / 2
End If
Hoja_Cemento.Range("M1") = Valor_CALIZA
End Sub
Valora esta pregunta


0