Tengo una hoja de Google que contiene varias métricas para cada día. Cada día tiene su propia fila:
day | cost | impressions | clicks | conversions
2014-02-01 | $45 | 3,540 | 80 | 5
2014-02-02 | $49 | 3,700 | 88 | 7
2014-02-03 | $42 | 3,440 | 79 | 7
2014-02-04 | $51 | 3,940 | 91 | 10
Quiero girar la mesa y resumir el cost
, impressions
, clicks
y conversion
columnas por mes (no por día) así:
Month | Sum of cost | Sum of impressions | Sum of clicks | Sum of conversions
February | $187 | 14620 | 338 | 29
En Excel, acabo de usar la Group by
función, pero veo que no está disponible en Google Sheets.
google-sheets
Bogdan
fuente
fuente
Respuestas:
Usando las
Data->Pivot table report...
ofertas exactamente lo que está pidiendo. Es posible que tenga que usar las " Nuevas Hojas de cálculo de Google ".Lo uso como configuración predeterminada y fue fácil lograr lo que quería, similar a Excel.
Aquí, en mi respuesta, explico cómo habilitar las nuevas hojas de cálculo.
Parece que no entendí completamente el problema.
Primero necesitamos tener el mes. Para eso agregue una nueva columna para extraer la fecha usando
=MONTH(DATE_COLUMN)
.Luego cree un informe Pivot:
fuente
Google Sheets ahora admite esto como 'Crear grupo de fechas dinámicas'
Una vez que haya agregado su columna de fecha / hora como una fila:
Antes + Ejemplo visual:
Después:
Más información
fuente
Sin una columna auxiliar:
suponiendo que
day
está en A1.Documentación que hace un trabajo mucho mejor para describir cómo funciona lo anterior que nunca.
fuente
Entonces, para aquellos que hicieron una pregunta similar a la mía, aparentemente todavía no hay una función de campo de grupo para Pivot en Google Sheet (como lo hay en Excel). Por lo tanto, la forma más simple es agregar otra columna transformando sus fechas a los grupos que necesita, por ejemplo, semanas, meses, años ... Esperemos que la funcionalidad esté pronto en la hoja de Google también.
fuente
Una forma más fácil que encontré fue convertir la celda de fecha a texto en una nueva columna.
Luego puede pivotar y se agrupará por mes.
fuente
Ninguna de las respuestas anteriores funcionó para mí, porque uso un formulario como entrada. No puede agregar fórmulas en la hoja de formulario.
Aquí está mi solución.
Al leer lo anterior, la tabla dinámica necesita una columna con mes para seleccionar. Puede usar un criterio diferente, como semana o viernes. O John, Doe, Foo o bar. Lo que quieras 'agrupar'.
En mi caso: la fecha está en B,
=month(B2)
da el mes. Entonces necesitaba una columna extra con=month(B2)
.La hoja de formulario no permite fórmulas. Y en una hoja con un formulario, no puede agregar una columna con fórmulas (exactamente: puede, pero una nueva entrada de formulario elimina la fórmula en la línea correspondiente).
Segundas hojas
Una segunda hoja simple con
=page1!A1
etc. y agregar el mes de la columna tiene el mismo problema. Una nueva entrada en el formulario => agrega una fila.Solución
Entonces hice lo siguiente.
=importrange("longkeynumber";"sheet form!A1:E1000")
en A1=if(B3>0;(MONTH(B3));"")
fuente
=if(B3>0;(MONTH(B3));"")
Esta es una buena solución, pero se puede hacer aún más fácil: - en F3,=arrayformula(if(b3:b>0;(month(b3:b));""))
lo que esto hace, automáticamente coloca el mes para cada celda no vacía en el rango B3: SI. ¡Insertar o eliminar una fila, o mover una fila NO arruinará las fórmulas!Si ya está agregando una nueva columna, también puede usarla
eomonth("reference cell",0)
. Eso siempre atrapará el último día del mes. Oeomonth("reference cell",-1)+1
para comenzar el mes.Lo bueno de este enfoque en lugar de convertirlo en texto es que cuando pivotas los datos. Se ordenará automáticamente de izquierda a derecha.
fuente
Encontré una forma que me gusta más. Simplemente creé una columna oculta con los siguientes pasos:
De esta manera obtendrá valores únicos a medida que pasan los años. Yo mismo decidí ocultar la columna en cuestión porque tengo un Doc conectado a esta Hoja que extrae las dos primeras filas a medida que las agrego.
fuente