2010-08-17 16 views
6

He escrito esta función que me dará una suma mensual para dos columnas: una tiene la fecha de cada orden, una tiene el costo de cada orden.Suma valores en una columna basada en la fecha

=SUMIF($C$1:$C$1000,">="&DATE(2010,6,1),$D$1:$D$1000)-SUMIF($C$1:$C$1000,">="&DATE(2010,7,1),$D$1:$D$1000) 

Utilizando datos como este:

8/16/10 17:00 7.99 
8/16/10 14:25 7.99 
8/15/10 22:42 7.99 

que terminan con una tabla como la siguiente:

May  998 
June 968.28 
July 1239.76 
August 514.96 

Sin embargo, ahora me gustaría hacer sumas diarias y el uso de mi camino tiene que editar manualmente cada fila.

¿Cómo puedo hacer esto mejor en Excel?

Respuesta

10

Use una columna para que cada fecha se muestre como número de mes; otra columna para el número días:

 A  B  C   D 
    ----- ----- ----------- -------- 
1  8  6 8/6/2010 12.70 
2  8  7 8/7/2010 10.50 
3  8  7 8/7/2010 7.10 
4  8  9 8/9/2010 10.50 
5  8  10 8/10/2010 15.00 

La fórmula para A1 es =Month(C1)

La fórmula para B1 es =Day(C1)

Para sumas Mes, poner el número de mes siguiente a cada mes:

 E  F   G  
    ----- ----- ------------- 
1  7 July $1,000,010 
2  8  Aug $1,200,300 

La fórmula para G1 es =SumIf($A$1:$A$100, E1, $D$1:$D$100). Esta es una fórmula portátil; solo cópialo.

El total del día será un poco más complicado, pero probablemente pueda ver cómo hacerlo.

0

Si la segunda fila tiene el mismo patrón que la primera fila, solo necesita editar la primera fila manualmente, luego coloque el puntero del mouse en la esquina inferior derecha, mientras tanto, presione la tecla Ctrl para arrastrar la celda abajo. el patrón debe copiarse automáticamente.

+0

El patrón de las fechas no se copia ... solo el patrón de fila/columna. Reprimí también la fila/columna que arrastra hacia abajo, con los signos &. –

11

Usar tablas pivote, definitivamente le ahorrará tiempo. Si usa Excel 2007+ use tablas (referencias estructuradas) para mantener su tabla dinámica. Sin embargo, si insistes en usar funciones, sigue la sugerencia de Smandoli. De nuevo, si usa 2007, use SUMIDEROS, es más rápido en comparación con SUMAR.

+0

Me gustaría aceptar su respuesta también, porque creo que también es válida. Lo mejor que puedo hacer es subir votos :) –

+0

+1 Sí, esta es una gran aplicación para tablas dinámicas. – Smandoli

+0

Honestamente, debo agregar que no me gustan las tablas pivote, aunque a veces las uso. No puedo ofrecer ninguna razón válida para desagradarlos, probablemente sea por tratar de usar los asistentes de gráficos de Excel (las primeras versiones, anteriores al Y2K). Además, uso OpenOffice más que Excel, tiene una función de tabla dinámica (creo), pero me imagino que es menos madura; Me quedo en los caminos simples. – Smandoli

7

El seguimiento de la respuesta de Niketya, hay una buena explicación de las tablas dinámicas aquí: http://peltiertech.com/WordPress/grouping-by-date-in-a-pivot-table/

Para Excel 2007 que le crea la tabla dinámica, que su columna de fecha de una etiqueta de fila, la columna Monto un valor. A continuación, haga clic con el botón derecho en una de las etiquetas de fila (es decir, una fecha), haga clic con el botón derecho y seleccione Agrupar. A continuación, tendrías la opción de agrupar por día, mes, etc.

Personalmente, así es como iría.

Si prefieres las fórmulas, la respuesta de Smandoli te llevaría la mayor parte del camino hasta allí. Para poder utilizar SumIf por día, deberá añadir una columna con una fórmula como:

=DATE(YEAR(C1), MONTH(C1), DAY(C1)) 

donde la columna C contiene su datetimes.

Puede usar esto en su resumen.

+0

También me gustaría aceptar su respuesta como parte de esto ... upvoted. –

1

Añadir una columna a los datos existentes para deshacerse de la hora: minutos: segundos marca de tiempo en cada fila:

=DATE(YEAR(A1), MONTH(A1), DAY(A1)) 

extender este a lo largo de sus datos. Aún más fácil: deje de recopilar los datos hh: mm: ss si no lo necesita. Suponiendo que su fecha/hora estaba en la columna A, y su valor estaba en la columna B, colocaría la fórmula anterior en la columna C y la extendería automáticamente para todos sus datos.

Ahora, en otra columna (digamos E), cree una serie de fechas correspondientes a cada día del mes específico que le interesa. Simplemente escriba la primera fecha, (por ejemplo, 10/7/2016 en E1), y se extiende automáticamente. Luego, en la celda contigua a la primera fecha, F1, entre:

=SUMIF(C:C, E1, B:B) 

autoextend la fórmula para cubrir todas las fechas en el mes, y ya está. Comience el 1/1/2016 y amplíe automáticamente todo el año si lo desea.

Cuestiones relacionadas