Come raggruppare i dati per mese in Fogli Google


39

Ho un foglio di Google che contiene varie metriche per ogni giorno. Ogni giorno ha la sua 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

Voglio ruotare il tavolo e riassumere il cost, impressions, clickse conversionle colonne per mese (non per giorno) in questo modo:

Month        | Sum of cost | Sum of impressions | Sum of clicks | Sum of conversions
February     | $187        | 14620              | 338           | 29

In Excel ho appena usato la Group byfunzione, ma vedo che non è disponibile in Fogli Google.


2
La risposta corretta a partire dal 2018 è questa: webapps.stackexchange.com/a/120852
Kos

Risposte:


18

Utilizzando le Data->Pivot table report...offerte esattamente quello che stai chiedendo. Potrebbe essere necessario che tu debba utilizzare i " Nuovi fogli Google ".
Lo uso come impostazione predefinita ed è stato facile ottenere ciò che volevi, simile a quello di Excel.

Qui nella mia risposta spiego come abilitare i nuovi fogli di calcolo.


Sembra che non ho capito completamente il problema.

Per prima cosa dobbiamo avere il mese. Per questo aggiungi una nuova colonna per estrarre la data usando =MONTH(DATE_COLUMN).

inserisci qui la descrizione dell'immagine

Quindi creare un rapporto pivot:

inserisci qui la descrizione dell'immagine


provato i "nuovi fogli di google" e non c'è alcuna possibilità di raggruppare le date per mese nei rapporti sulla tabella pivot, forse potresti far luce?
Bogdan,

Scusa, ho pensato che il problema principale fosse che non riuscivi a trovare alcun raggruppamento. Quindi perché non aggiungere una colonna che fornisce solo il mese e raggruppare per esso?
StampedeXV

Sfortunatamente non posso aggiungere in un'altra colonna o modificare la formattazione del foglio sorgente in quanto viene utilizzato per alimentare una dashboard in Cyfe, ma grazie per le risposte ...
Bogdan

Puoi aggiungere la colonna, quindi nasconderla in modo che sia invisibile. Puoi comunque usarlo nel rapporto Pivot.
StampedeXV

Ottima idea L'ho provato, tuttavia Cyfe non sembra essere in grado di ignorare le colonne nascoste. Devo solo mantenere 2 fogli duplicati con i dati di origine per aggirare questo ...
Bogdan,

30

Fogli Google ora lo supporta come "Crea gruppo data pivot"

Dopo aver aggiunto la colonna data / ora come riga:

  1. Fai clic con il pulsante destro del mouse su uno dei valori nella tabella Pivot,
  2. Scegli "Crea gruppo data pivot"
  3. Scegli il raggruppamento desiderato (ad esempio, "Mese" o "Anno-Mese")

Prima + Esempio visivo:

Tabella pivot prima del raggruppamento

Dopo:

inserisci qui la descrizione dell'immagine

Ulteriori informazioni


questa dovrebbe essere la risposta giusta probabilmente
senseiwu,

Questa è la migliore risposta fino al 2018
Calvin,

Posso usare le mie formule con le tabelle Pivot in qualche modo? Voglio ottenere quantili
Hubert Grzeskowiak il

3
Non vedo questa opzione nella colonna della mia data
Ian Hyzy,

5

Senza una colonna di supporto:

=query(A:E,"select sum(B), sum(C), sum(D), sum (E) group by month(A) offset 1")  

supponendo daysia in A1.

Documentazione che fa un lavoro molto migliore nel descrivere come funziona quanto sopra che mai.


1
Sembra davvero utile. Potresti spiegare come funziona? Non ho mai usato la funzione Query.
Shawn V. Wilson,

È possibile raggruppare per mese E anno?
Hubert Grzeskowiak,

@HubertGrzeskowiak Sì, lo è
Lee Taylor,

4

Quindi, per coloro che hanno posto una domanda simile a me, a quanto pare non esiste ancora una funzione di campo di gruppo per Pivot nel foglio di Google (come in Excel). Quindi il modo più semplice è aggiungere un'altra colonna trasformando le tue date ai gruppi di cui hai bisogno, ad esempio settimane, mesi, anni ... Speriamo che la funzionalità sia presto disponibile anche nel foglio di Google.


2

Un modo più semplice che ho trovato è stato quello di convertire la cella della data in testo in una nuova colonna.

=Text(A1, "mmm-yy")

È quindi possibile ruotare e raggruppare per mese.


1

Nessuna delle risposte precedenti ha funzionato per me, perché utilizzo un modulo come input. Non è possibile aggiungere formule nel modulo.

Ecco la mia soluzione.

Leggendo quanto sopra, la tabella Pivot necessita di una colonna con il mese per selezionare. Puoi utilizzare criteri diversi, come settimana o venerdì. O John, Doe, Foo o bar. Qualunque cosa tu voglia "raggruppare" su.

Nel mio caso: la data è in B, =month(B2)indica il mese. Quindi avevo bisogno di una colonna in più con =month(B2).

Il modulo non consente formule. E su un foglio con un modulo, non puoi aggiungere una colonna con le formule (esattamente: puoi, ma una nuova voce del modulo cancella la formula sulla riga corrispondente).

Secondi fogli

Un semplice secondo foglio con =page1!A1etc e l'aggiunta del mese della colonna ha lo stesso problema. Una nuova voce nel modulo => aggiunge una riga.

Soluzione

Quindi ho fatto quanto segue.

  • Aggiunto un foglio aggiuntivo
  • Usato =importrange("longkeynumber";"sheet form!A1:E1000")su A1
  • (importrange è importare un documento diverso, ma ehi ... funziona)
  • In F, usato =if(B3>0;(MONTH(B3));"")
  • Quando si aggiungono ulteriori dati nel foglio A, le formule nel foglio B con l'importrange rimangono.
  • Ora puoi aggiungere una tabella pivot, con (in questo caso) F come riga o colonna.

Nella risposta di user165410 , afferma: - In F, =if(B3>0;(MONTH(B3));"")questa è una buona soluzione, ma può essere resa ancora più semplice: - in F3, =arrayformula(if(b3:b>0;(month(b3:b));""))cosa fa, viene automaticamente inserito il mese per ogni cella non vuota nell'intervallo B3: B. L'inserimento o l'eliminazione di una riga o lo spostamento di una riga NON rovinano le formule!
Stefan van Aalst,

Quando una nuova risposta viene aggiunta a un foglio di calcolo, viene inserita una nuova riga. Le formule di matrice (risultato di più valori) potrebbero essere utilizzate invece di formule scalari (risultati di valori singoli). D'altra parte, quando i dati di origine provengono dallo stesso file, è possibile utilizzare le formule di matrice per restituire lo stesso risultato di IMPORTRANGE e si aggiornano immediatamente
Rubén,

Adoro questa soluzione! in F3, = arrayformula (if (b3: b> 0; (mese (b3: b)); "")) L'unico problema è quando i dati sono per più di un anno e ogni mese viene combinato con lo stesso mese nel l'anno scorso.
Vic M

1

Se stai già aggiungendo una nuova colonna, puoi anche semplicemente usare eomonth("reference cell",0). Afferrerà sempre l'ultimo giorno del mese. O eomonth("reference cell",-1)+1per ottenere l'inizio del mese.

Il bello di questo approccio invece di convertirlo in testo è che quando si ruotano i dati. Ordinerà automaticamente in ordine crescente da sinistra a destra.


1

Ho trovato un modo che mi piace di più. Ho semplicemente creato una colonna nascosta con i seguenti passaggi:


  • Arrotondare tutti i giorni del mese fino al primo giorno del mese.

= A2 - giorno (A2) + 1 dove A2 è la data standard

  • Imposta la formattazione su personalizzata e scegli mese / anno. Ciò richiederà di eliminare l'impostazione del giorno. Quindi, visualizzerà mese / anno quando il valore effettivo sarà il primo giorno del mese, mese, anno.
  • La tabella pivot ora raggrupperà tutti gli elementi simili e visualizzerà la formattazione dalla colonna con mese / anno.

In questo modo otterrai valori unici col passare degli anni. Io stesso ho deciso di nascondere la colonna in questione perché ho un documento collegato a questo foglio che estrae le prime due righe mentre le aggiungo.

Formula per data e formattazione

Formato data personalizzato

Risultati della tabella pivot

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.