Sumar valor de celda, usando como criterio la fecha repetida

Tengo una tabla en Excel la cual cambiara según el mes los días y las cantidades de pedido, y las cantidades confirmadas, que necesito mediante un cálculo sacar el porcentaje al día.

La cuestión es:

¿Cómo puedo sumar las celdas del porcentaje diario, si es de la misma fecha?, por ejemplo requiero que Excel me sume todos los porcentajes del día 1, y me arroje el valor en otra tabla. Del día dos, y me arroje el valor, en fin de todos los días, teniendo en cuenta que habrán días que posiblemente se queden en 0.

Considerando que no siempre serán las mismas cantidades de pedidos, ya que varían según el mes.

Anexo archivo, esperando que alguien me entienda.

https://drive.google.com/file/d/1Q0uGjLtF1nenVUXx4hjtecmRfsOzbSjO/view?usp=sharing

1 respuesta

Respuesta
1

Usa una tabla dinámica en la cual defines el campo fecha y el % diario, y es todo lo que ocupas

Lo que sucede es que en un principio tenía una tabla pivote, pero no puedo usarlas ya que haré una macro, y no pude adaptar la macro a la tabla pivote. Por eso deje la tabla en diseño rústico. 

Entonces prueba con esta macro

Sub resumir_datos()
Set DATOS = Range("a2").CurrentRegion
With DATOS
    R = .Rows.Count: c = .Columns.Count
    cuenta = WorksheetFunction.CountIf(.Columns(1), 0)
    filas = R - cuenta
    Set DATOS = .Rows(2).Resize(filas - 1)
    Set resumen = .Columns(c + 3).Resize(filas, 3)
    With resumen
    .CurrentRegion.ClearContents
    DATOS.Columns(4).Copy
    .Columns(2).PasteSpecial xlValues
    .RemoveDuplicates Columns:=2
    .Columns(2).NumberFormat = "dd/mm/yyyy"
    .RemoveDuplicates Columns:=2
    .Sort key1:=Range(.Columns(2).Address), order1:=xlAscending
    R = .CurrentRegion.Rows.Count
    For i = 1 To R
        fecha = .Cells(i, 2)
        .Cells(i, 1) = i
        .Cells(i, 3) = WorksheetFunction.SumIf(DATOS.Columns(4), fecha, DATOS.Columns(10))
    Next i
    .Columns(3).NumberFormat = "0.00"
    .Columns(1).Font.Bold = True
    .Cells(0, 2) = "DIA"
    .Cells(0, 3) = "% DIARIO"
    .Rows(-1).Resize(2, 3).Font.Bold = True
    .Cells(-1, 2).Resize(1, 2).Merge
    .Cells(-1, 2).Resize(1, 2) = "MENSUAL"
    .Cells(-1, 2).Resize(1, 2).HorizontalAlignment = xlCenter
    .Cells(R + 1, 3) = WorksheetFunction.Sum(.Columns(3))
    .Cells(R + 1, 2) = "TOTAL"
    .Rows(R + 1).Font.Bold = True
    End With
End With
Set DATOS = Nothing: Set resumen = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas