Jak grupować dane według miesięcy w Arkuszach Google

38

Mam Arkusz Google, który zawiera różne dane na każdy dzień. Każdy dzień ma swój wiersz:

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

Chcę obrócić stół i Podsumowując cost, impressions, clicksa conversionkolumny od miesiąca (nie przez dzień) tak:

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

W programie Excel właśnie użyłem tej Group byfunkcji, ale widzę, że nie jest dostępna w Arkuszach Google.

Bogdan
źródło
2
Prawidłowa odpowiedź na rok 2018 to: webapps.stackexchange.com/a/120852
Kos

Odpowiedzi:

18

Korzystając z Data->Pivot table report...ofert dokładnie o to, o co prosisz. Możliwe, że będziesz musiał użyć „ Nowych Arkuszy Google ”.
Używam tego jako ustawienia domyślnego i łatwo było osiągnąć to, co chciałeś, podobnie jak w programie Excel.

Tutaj w mojej odpowiedzi opiszę jak włączyć nowe arkusze kalkulacyjne.


Wygląda na to, że nie do końca zrozumiałem problem.

Najpierw musimy mieć miesiąc. W tym celu dodaj nową kolumnę, aby wyodrębnić datę za pomocą =MONTH(DATE_COLUMN).

wprowadź opis zdjęcia tutaj

Następnie utwórz raport przestawny:

wprowadź opis zdjęcia tutaj

StampedeXV
źródło
wypróbowałeś „nowe arkusze google” i nie ma możliwości grupowania dat według miesięcy w raportach tabeli przestawnej, może mógłbyś rzucić nieco światła?
Bogdan
Przepraszam, myślałem, że głównym problemem jest to, że w ogóle nie można znaleźć grupowania. Dlaczego więc nie dodać kolumny zawierającej tylko miesiąc i pogrupować według tego?
StampedeXV
Niestety nie mogę dodać innej kolumny ani zmienić formatowania arkusza źródłowego, ponieważ jest on używany do zasilania deski rozdzielczej w Cyfe, ale dziękuję za odpowiedzi ...
Bogdan
Możesz dodać kolumnę, a następnie ukryć, aby była niewidoczna. Nadal możesz go używać w raporcie przestawnym.
StampedeXV
Świetny pomysł. Próbowałem, jednak Cyfe nie jest w stanie zignorować ukrytych kolumn. Będę musiał zachować 2 duplikaty arkuszy z danymi źródłowymi, aby obejść ten problem ...
Bogdan
30

Arkusze Google obsługują teraz tę funkcję jako „Utwórz grupę dat przestawnych”

Po dodaniu kolumny daty / godziny jako wiersza:

  1. Kliknij prawym przyciskiem myszy jedną z wartości w tabeli przestawnej,
  2. Wybierz „Utwórz grupę dat przestawnych”
  3. Wybierz żądane grupowanie (np. „Miesiąc” lub „Rok-miesiąc”)

Przed + przykład wizualny:

Tabela przestawna przed grupowaniem

Po:

wprowadź opis zdjęcia tutaj

Więcej informacji

MotohawkSF
źródło
prawdopodobnie powinna to być właściwa odpowiedź
senseiwu
To najlepsza jak dotąd odpowiedź
Calvin,
Czy mogę w jakiś sposób używać własnych formuł z tabelami przestawnymi? Chcę zdobyć kwantyle
Hubert Grzeskowiak
3
Nie widzę tej opcji w kolumnie z datą
Ian Hyzy
5

Bez kolumny pomocniczej:

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

zakładając, że dayjest w A1.

Dokumentacja, która ma o wiele lepszą pracę z opisywaniem, jak działa powyższe, niż kiedykolwiek mogłem.

orzechy
źródło
1
Brzmi to naprawdę przydatne. Czy możesz wyjaśnić, jak to działa? Nigdy nie korzystałem z funkcji zapytania.
Shawn V. Wilson,
Czy można grupować według miesiąca ORAZ roku?
Hubert Grzeskowiak
@HubertGrzeskowiak Tak, to jest
Lee Taylor
4

Tak więc dla tych, którzy zadali podobne pytanie jak ja, najwyraźniej nie ma jeszcze funkcji pola Grupy dla Pivot w Arkuszu Google (tak jak jest w Excelu). Dlatego najprostszym sposobem jest dodanie kolejnej kolumny przekształcającej daty w potrzebne grupy, np. Tygodnie, miesiące, lata ... Mam nadzieję, że wkrótce ta funkcjonalność pojawi się również w arkuszu Google.

F Samie
źródło
2

Łatwiejszym sposobem, który znalazłem, było przekonwertowanie komórki daty na tekst w nowej kolumnie.

=Text(A1, "mmm-yy")

Następnie możesz się obrócić, a grupa zostanie pogrupowana według miesięcy.

Pedropagina
źródło
1

Żadna z poprzednich odpowiedzi nie działała dla mnie, ponieważ używam formularza jako danych wejściowych. Nie można dodawać formuł w arkuszu formularza.

Oto moje obejście.

Czytając powyższe, tabela przestawna potrzebuje kolumny z miesiącem do włączenia. Możesz użyć innych kryteriów, takich jak tydzień lub piątek. Lub John, Doe, Foo lub bar. Cokolwiek chcesz „zgrupować” na.

W moim przypadku: data jest w B, =month(B2)podaje miesiąc. Potrzebowałem więc dodatkowej kolumny z =month(B2).

Arkusz formularza nie zezwala na formuły. A w arkuszu z formularzem nie można dodać kolumny z formułami (dokładnie: możesz, ale nowy wpis formularza usuwa formułę z odpowiedniego wiersza).

Drugie arkusze

Prosty drugi arkusz z =page1!A1itp. I dodaniem miesiąca kolumny ma ten sam problem. Nowy wpis w formularzu => dodaje wiersz.

Rozwiązanie

Więc zrobiłem następujące.

  • Dodano dodatkowy arkusz
  • Używany =importrange("longkeynumber";"sheet form!A1:E1000")na A1
  • (importrange to import innego dokumentu, ale hej… to działa)
  • Użyto w F. =if(B3>0;(MONTH(B3));"")
  • Podczas dodawania dodatkowych danych w arkuszu A formuły w arkuszu B z importrangerange pozostają.
  • Teraz możesz dodać tabelę przestawną z (w tym przypadku) F jako wiersz lub kolumnę.
użytkownik165410
źródło
W odpowiedzi user165410 stwierdza: - W F użyty =if(B3>0;(MONTH(B3));"")Jest to dobre rozwiązanie, ale można to uczynić jeszcze łatwiejszym: - W F3, =arrayformula(if(b3:b>0;(month(b3:b));""))To co robi, automatycznie ustawia miesiąc dla każdej niepustej komórki w zakresie B3: B. Wstawianie lub usuwanie wiersza lub przenoszenie wiersza NIE zepsuje wzorów!
Stefan van Aalst
Po dodaniu nowych odpowiedzi do arkusza kalkulacyjnego wstawiany jest nowy wiersz. Zamiast tego można zastosować formuły tablicowe (wynik dla wielu wartości) lub formuły skalarne (wyniki dla pojedynczych wartości). Z drugiej strony, gdy dane źródłowe pochodzą z tego samego pliku, można użyć formuł tablicowych, aby zwrócić ten sam wynik co IMPORTRANGE, i są one natychmiast aktualizowane
Rubén
Uwielbiam to rozwiązanie! w F3, = formuła tablicowa (jeśli (b3: b> 0; (miesiąc (b3: b));; „”)) Jedynym problemem jest to, że dane dotyczą więcej niż jednego roku i każdy miesiąc łączy się z tym samym miesiącem w Poprzedni rok.
Vic M
1

Jeśli już dodajesz nową kolumnę, możesz także użyć eomonth("reference cell",0). To zawsze przyciągnie ostatni dzień miesiąca. Lub eomonth("reference cell",-1)+1uzyskać początek miesiąca.

Piękno tego podejścia zamiast konwertowania na tekst polega na tym, że obracasz dane. Automatycznie sortuje rosnąco od lewej do prawej.

Skho
źródło
1

Znalazłem sposób, który lubię bardziej. Po prostu utworzyłem ukrytą kolumnę, wykonując następujące czynności:


  • Zaokrąglij każdy dzień miesiąca do pierwszego dnia miesiąca.

= A2 - dzień (A2) + 1, gdzie A2 jest standardową datą

  • Ustaw formatowanie na niestandardowe i wybierz miesiąc / rok. Będzie to wymagać usunięcia ustawienia dnia. Będzie więc wyświetlał miesiąc / rok, kiedy faktyczną wartością będzie pierwszy dzień miesiąca, miesiąca, roku.
  • Tabela przestawna będzie teraz grupować wszystkie podobne elementy razem i wyświetlać formatowanie z kolumny według miesiąca / roku.

W ten sposób otrzymasz unikalne wartości w miarę upływu lat. Sam postanowiłem ukryć kolumnę, o której mowa, ponieważ mam dokument podłączony do tego arkusza, który pobiera pierwsze dwa wiersze podczas ich dodawania.

Formuła dla daty i formatowania

Niestandardowy format daty

Wyniki tabeli przestawnej

Nick Mean
źródło