So gruppieren Sie Daten in Google Sheets nach Monat


38

Ich habe ein Google Sheet, das verschiedene Metriken für jeden Tag enthält. Jeder Tag hat eine eigene Zeile:

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

Ich möchte den Tisch schwenken und zusammenfassen der cost, impressions, clicksund conversionSpalten von Monat (nicht von Tag) wie folgt aus :

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

In Excel habe ich die Group byFunktion nur verwendet , aber ich sehe, dass sie in Google Sheets nicht verfügbar ist.


2
Die richtige Antwort ab 2018 lautet wie folgt: webapps.stackexchange.com/a/120852
Kos

Antworten:


18

Nutzen Sie die Data->Pivot table report...Angebote genau nach Ihren Wünschen. Möglicherweise müssen Sie die " New Google Sheets " verwenden.
Ich verwende das als Standardeinstellung und es war einfach zu erreichen, was Sie wollten, ähnlich wie in Excel.

Hier in meiner Antwort erkläre ich, wie man die neuen Kalkulationstabellen aktiviert.


Es scheint, dass ich das Problem nicht vollständig verstanden habe.

Zuerst müssen wir den Monat haben. Fügen Sie dazu eine neue Spalte hinzu, um das Datum mit zu extrahieren =MONTH(DATE_COLUMN).

Bildbeschreibung hier eingeben

Dann erstelle einen Pivot-Bericht:

Bildbeschreibung hier eingeben


habe die 'neuen Google Sheets' ausprobiert und es gibt keine Möglichkeit, Daten nach Monat in den Pivot-Tabellenberichten zu gruppieren. Vielleicht könnten Sie etwas Licht ins Dunkel bringen?
Bogdan

Tut mir leid, ich dachte, das Hauptproblem sei, dass du überhaupt keine Gruppierung finden konntest. Dann warum nicht eine Spalte hinzufügen, die nur den Monat enthält und nach diesem gruppieren?
StampedeXV

Leider kann ich keine weitere Spalte hinzufügen oder die Formatierung des Quellblatts ändern, da es zum Betreiben eines Dashboards in Cyfe verwendet wird, aber danke für Ihre Antworten ...
Bogdan

Sie können die Spalte hinzufügen und dann ausblenden, damit sie unsichtbar ist. Sie können es dennoch im Pivot-Bericht verwenden.
StampedeXV

Exzellente Idee. Ich habe es versucht, aber Cyfe scheint nicht in der Lage zu sein, die versteckten Spalten zu ignorieren. Ich muss nur 2 doppelte Blätter mit den Quelldaten pflegen, um das
Bogdan

30

Google Sheets unterstützt dies nun als "Pivot-Datumsgruppe erstellen".

Sobald Sie Ihre Datums- / Zeitspalte als Zeile hinzugefügt haben:

  1. Klicken Sie mit der rechten Maustaste auf einen der Werte in der Pivot-Tabelle.
  2. Wählen Sie "Pivot-Datumsgruppe erstellen".
  3. Wählen Sie die gewünschte Gruppierung (zB 'Monat' oder 'Jahr-Monat')

Vorher + Visuelles Beispiel:

Drehtabelle vor dem Gruppieren

Nach:

Bildbeschreibung hier eingeben

Mehr Info


Dies sollte wahrscheinlich die richtige Antwort sein
senseiwu

Dies ist die mit Abstand beste Antwort für 2018
Calvin

Kann ich irgendwie meine eigenen Formeln mit Pivot-Tabellen verwenden? Ich möchte Quantile bekommen
Hubert Grzeskowiak

3
Ich sehe diese Option nicht in meiner Datumsspalte
Ian Hyzy

5

Ohne eine Hilfssäule:

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

vorausgesetzt, dayist in A1.

Dokumentation , die viel besser beschreibt, wie das oben Genannte funktioniert als je zuvor.


1
Das klingt wirklich nützlich. Könnten Sie erklären, wie es funktioniert? Ich habe die Abfragefunktion noch nie verwendet.
Shawn V. Wilson

Ist es möglich, nach Monat UND Jahr zu gruppieren?
Hubert Grzeskowiak

@ HubertGrzeskowiak Ja, es ist
Lee Taylor

4

Für diejenigen, die ähnliche Fragen stellten wie ich, gibt es anscheinend noch keine Gruppenfeldfunktion für Pivot in Google Sheet (wie es in Excel der Fall ist). Aus diesem Grund ist es am einfachsten, eine weitere Spalte hinzuzufügen, in der Ihre Daten in die von Ihnen benötigten Gruppen umgewandelt werden, z. B. Wochen, Monate, Jahre ... Hoffentlich ist die Funktionalität bald auch in Google Sheet verfügbar.


2

Eine einfachere Möglichkeit bestand darin, die Datumszelle in Text in einer neuen Spalte umzuwandeln.

=Text(A1, "mmm-yy")

Sie können dann schwenken und es wird nach Monat gruppiert.


1

Keine der vorherigen Antworten hat für mich funktioniert, da ich ein Formular als Eingabe verwende. Sie können dem Formularblatt keine Formeln hinzufügen.

Hier ist meine Abhilfe.

In der Pivot-Tabelle muss eine Spalte mit dem Monat ausgewählt werden. Sie können andere Kriterien verwenden, z. B. Woche oder Freitag. Oder John, Doe, Foo oder Bar. Was auch immer du 'gruppieren' willst.

In meinem Fall: Datum ist in B, =month(B2)gibt den Monat an. Also brauchte ich eine extra Kolumne mit =month(B2).

Das Formular erlaubt keine Formeln. Und auf einem Blatt mit einem Formular können Sie keine Spalte mit Formeln hinzufügen (genau: Sie können, aber ein neuer Formulareintrag löscht die Formel in der entsprechenden Zeile).

Zweite Blätter

Ein einfaches zweites Blatt mit =page1!A1etc und dem Hinzufügen des Spaltenmonats hat das gleiche Problem. Ein neuer Eintrag im Formular => fügt eine Zeile hinzu.

Lösung

Also habe ich folgendes gemacht.

  • Zusätzliches Blatt hinzugefügt
  • Wird =importrange("longkeynumber";"sheet form!A1:E1000")bei A1 verwendet
  • (importrange soll ein anderes Dokument importieren, aber hey ... es funktioniert)
  • In F verwendet =if(B3>0;(MONTH(B3));"")
  • Beim Hinzufügen zusätzlicher Daten in Blatt A bleiben die Formeln in Blatt B mit dem Importbereich erhalten.
  • Jetzt können Sie eine Pivot-Tabelle mit (in diesem Fall) F als Zeile oder Spalte hinzufügen.

In der Antwort von user165410 gibt er an: - In F, used =if(B3>0;(MONTH(B3));"")Dies ist eine gute Lösung, aber es kann noch einfacher gemacht werden: - In F3, =arrayformula(if(b3:b>0;(month(b3:b));""))What this, wird automatisch der Monat für jede nicht leere Zelle im Bereich B3 gesetzt: B. Das Einfügen oder Löschen einer Zeile oder das Verschieben einer Zeile wird die Formeln NICHT vermasseln!
Stefan van Aalst

Wenn einer Tabelle neue Antworten hinzugefügt werden, wird eine neue Zeile eingefügt. Anstelle von Matrixformeln (Ergebnis mit mehreren Werten) können auch skalare Formeln (Ergebnis mit einzelnen Werten) verwendet werden. Wenn die Quelldaten aus derselben Datei stammen, können Sie Array-Formeln verwenden, um dasselbe Ergebnis wie IMPORTRANGE zurückzugeben, und sie werden sofort aktualisiert
Rubén,

Ich liebe diese Lösung! in F3 = Matrixformel (wenn (b3: b> 0; (Monat (b3: b)); "")) Das einzige Problem ist, wenn die Daten länger als ein Jahr sind und jeder Monat mit demselben Monat in der Formel kombiniert wird vorheriges Jahr.
Vic M

1

Wenn Sie bereits eine neue Spalte hinzufügen, können Sie auch einfach verwenden eomonth("reference cell",0). Das wird immer den letzten Tag des Monats erfassen. Oder eomonth("reference cell",-1)+1um den Monatsanfang zu bekommen.

Das Schöne an diesem Ansatz, anstatt ihn in Text umzuwandeln, ist, dass Sie die Daten schwenken. Es wird automatisch von links nach rechts aufsteigend sortiert.


1

Ich habe einen Weg gefunden, den ich besser mag. Ich habe einfach eine ausgeblendete Spalte mit den folgenden Schritten erstellt:


  • Rund jeden Tag des Monats bis zum ersten Tag des Monats.

= A2 - Tag (A2) + 1 wobei A2 das Standarddatum ist

  • Stellen Sie die Formatierung auf Benutzerdefiniert ein und wählen Sie Monat / Jahr. Hierfür müssen Sie die Tageseinstellung löschen. Es wird also Monat / Jahr angezeigt, wenn der tatsächliche Wert der erste Tag des Monats, Monats oder Jahres ist.
  • Die Pivot-Tabelle gruppiert nun alle ähnlichen Elemente und zeigt die Formatierung der Spalte mit Monat / Jahr an.

Auf diese Weise erhalten Sie im Laufe der Jahre einzigartige Werte. Ich selbst habe beschlossen, die betreffende Spalte auszublenden, da mit diesem Blatt ein Dokument verbunden ist, das die ersten beiden Zeilen beim Hinzufügen abruft.

Formel für Datum und Formatierung

Benutzerdefiniertes Datumsformat

Ergebnisse der Pivot-Tabelle

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.