Cara mengelompokkan data berdasarkan bulan di Google Sheets

38

Saya memiliki Google Sheet yang berisi berbagai metrik untuk setiap hari. Setiap hari memiliki barisnya sendiri:

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

Saya ingin poros meja dan meringkas cost, impressions, clicksdan conversionkolom berdasarkan bulan (bukan dengan hari) seperti ini:

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

Di Excel saya hanya menggunakan Group byfungsinya, tapi saya lihat itu tidak tersedia di Google Sheets.

Bogdan
sumber
2
Jawaban yang benar pada 2018 adalah yang ini: webapps.stackexchange.com/a/120852
Kos

Jawaban:

18

Menggunakan Data->Pivot table report...penawaran persis apa yang Anda minta. Mungkin saja Anda harus menggunakan " Lembar Google Baru ".
Saya menggunakannya sebagai pengaturan default dan mudah untuk mencapai apa yang Anda inginkan, sama seperti di Excel.

Di sini, dalam jawaban saya, saya menjelaskan cara mengaktifkan spreadsheet baru.


Sepertinya saya tidak sepenuhnya memahami masalahnya.

Pertama, kita perlu bulan. Untuk itu tambahkan kolom baru untuk mengekstrak tanggal menggunakan =MONTH(DATE_COLUMN).

masukkan deskripsi gambar di sini

Lalu buat laporan Pivot:

masukkan deskripsi gambar di sini

StampedeXV
sumber
mencoba 'lembar google baru' dan tidak ada opsi untuk mengelompokkan tanggal berdasarkan bulan di laporan tabel pivot, mungkin Anda bisa memberi sedikit informasi?
Bogdan
Maaf, saya pikir masalah utamanya adalah Anda tidak dapat menemukan pengelompokan sama sekali. Lalu mengapa tidak menambahkan kolom yang menyediakan bulan saja dan mengelompokkannya?
StampedeXV
Sayangnya saya tidak dapat menambahkan di kolom lain, atau mengubah format lembar sumber karena ini digunakan untuk menyalakan dashboard di Cyfe, tapi terima kasih atas jawaban Anda ...
Bogdan
Anda dapat menambahkan kolom, lalu menyembunyikannya sehingga tidak terlihat. Anda masih dapat menggunakannya dalam laporan Pivot.
StampedeXV
Ide bagus Saya mencobanya, namun tampaknya Cyfe tidak dapat mengabaikan kolom tersembunyi. Saya hanya akan harus mempertahankan 2 lembar duplikat dengan data sumber untuk mengatasi ini ....
Bogdan
30

Google Sheets sekarang mendukung ini sebagai 'Buat grup pivot date'

Setelah Anda menambahkan kolom tanggal / waktu sebagai baris:

  1. Klik kanan pada salah satu nilai di tabel Pivot,
  2. Pilih 'Buat grup tanggal pivot'
  3. Pilih pengelompokan yang diinginkan (misalnya, 'Bulan' atau 'Tahun-Bulan')

Sebelum + Contoh Visual:

Tabel pivot sebelum pengelompokan

Setelah:

masukkan deskripsi gambar di sini

Info lebih lanjut

MotohawkSF
sumber
mungkin ini jawaban yang tepat
senseiwu
Ini adalah jawaban terbaik sejauh 2018
Calvin
Bisakah saya menggunakan rumus saya sendiri dengan tabel Pivot entah bagaimana? Saya ingin mendapatkan kuantil
Hubert Grzeskowiak
3
Saya tidak melihat opsi ini di kolom tanggal saya
Ian Hyzy
5

Tanpa kolom pembantu:

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

anggap daydalam A1.

Dokumentasi yang melakukan pekerjaan yang jauh lebih baik untuk menggambarkan cara kerja di atas daripada sebelumnya.

kacang
sumber
1
Ini kedengarannya sangat berguna. Bisakah Anda menjelaskan cara kerjanya? Saya tidak pernah menggunakan fungsi Query.
Shawn V. Wilson
Apakah mungkin dikelompokkan berdasarkan bulan DAN tahun?
Hubert Grzeskowiak
@ HubertGrzeskowiak Ya, itu
Lee Taylor
4

Jadi bagi mereka yang mengajukan pertanyaan serupa dengan saya, Tampaknya belum ada fungsi bidang Grup untuk Pivot di Google Sheet (seperti yang ada di Excel). Karenanya cara paling sederhana adalah menambahkan kolom lain yang mentransformasikan tanggal Anda ke grup yang Anda butuhkan, mis. Berminggu-minggu, berbulan-bulan, bertahun-tahun ... Semoga fungsinya segera ada di lembar Google juga.

F Samie
sumber
2

Cara yang lebih mudah yang saya temukan adalah mengubah sel tanggal menjadi teks di kolom baru.

=Text(A1, "mmm-yy")

Anda kemudian dapat inden dan akan dikelompokkan berdasarkan bulan.

Pedropagina
sumber
1

Tidak ada jawaban sebelumnya yang berfungsi untuk saya, karena saya menggunakan formulir sebagai masukan. Anda tidak dapat menambahkan rumus di lembar formulir.

Ini pekerjaan saya.

Membaca di atas, tabel Pivot membutuhkan kolom dengan bulan untuk dipilih. Anda dapat menggunakan kriteria yang berbeda, seperti minggu atau Jumat. Atau John, Doe, Foo atau bar. Apa pun yang Anda ingin 'kelompok' pada.

Dalam kasus saya: tanggal dalam B, =month(B2)berikan bulan. Jadi saya butuh kolom tambahan =month(B2).

Lembar-formulir tidak memungkinkan formula. Dan pada lembar dengan formulir, Anda tidak bisa menambahkan kolom dengan rumus (tepatnya: Anda bisa, tetapi entri formulir baru menghapus rumus pada baris yang sesuai).

Lembar kedua

Lembar kedua sederhana dengan =page1!A1dll dan menambahkan bulan kolom memiliki masalah yang sama. Entri baru di form => menambahkan baris.

Larutan

Jadi saya melakukan yang berikut.

  • Menambahkan lembar ekstra
  • Digunakan =importrange("longkeynumber";"sheet form!A1:E1000")pada A1
  • (importrange adalah untuk mengimpor dokumen yang berbeda, tapi hei ... ini berfungsi)
  • Dalam F, digunakan =if(B3>0;(MONTH(B3));"")
  • Saat menambahkan data tambahan di sheet A, rumus di sheet B dengan importrange tetap.
  • Sekarang Anda dapat menambahkan tabel pivot, dengan (dalam hal ini) F sebagai baris atau kolom.
pengguna165410
sumber
Dalam jawaban pengguna165410 , ia menyatakan: - Dalam F, digunakan =if(B3>0;(MONTH(B3));"")Ini adalah solusi yang baik, tetapi dapat dibuat lebih mudah: - dalam F3, =arrayformula(if(b3:b>0;(month(b3:b));""))Apa yang dilakukan, secara otomatis menempatkan bulan untuk setiap sel yang tidak kosong dalam rentang B3: B. Memasukkan atau menghapus baris, atau memindahkan baris TIDAK akan mengacaukan rumus!
Stefan van Aalst
Saat respons baru ditambahkan ke spreadsheet, baris baru dimasukkan. Rumus array (hasil beberapa nilai) dapat digunakan sebagai gantinya atau rumus skalar (hasil nilai tunggal). Di sisi lain, ketika sumber data berasal dari file yang sama Anda bisa menggunakan rumus array untuk mengembalikan hasil yang sama seperti IMPORTRANGE dan mereka segera diperbarui
Rubén
Saya suka solusi ini! dalam F3, = arrayformula (if (b3: b> 0; (bulan (b3: b)); "")) Satu-satunya masalah adalah ketika data lebih dari satu tahun dan setiap bulan digabungkan dengan bulan yang sama di tahun sebelumnya.
Vic M
1

Jika Anda sudah menambahkan kolom baru, Anda juga bisa menggunakan eomonth("reference cell",0). Itu akan selalu ambil hari terakhir bulan ini. Atau eomonth("reference cell",-1)+1untuk mendapatkan awal bulan.

Keindahan dengan pendekatan ini alih-alih mengonversi ke teks adalah saat Anda memutar data. Ini akan secara otomatis mengurutkan naik dari kiri ke kanan.

Skho
sumber
1

Saya menemukan cara yang saya sukai lebih baik. Saya cukup membuat kolom tersembunyi dengan langkah-langkah berikut:


  • Bulatkan setiap hari dalam sebulan hingga hari pertama bulan itu.

= A2 - hari (A2) + 1 di mana A2 adalah tanggal standar

  • Atur pemformatan ke kustom dan pilih bulan / tahun. Ini akan mengharuskan Anda untuk menghapus pengaturan hari. Jadi, itu akan menampilkan bulan / tahun ketika nilai aktual akan menjadi hari pertama bulan, bulan, tahun.
  • Tabel pivot sekarang akan mengelompokkan semua item serupa menjadi satu dan menampilkan pemformatan dari kolom dengan bulan / tahun.

Dengan cara ini Anda akan mendapatkan nilai unik seiring berlalunya waktu. Saya sendiri memutuskan untuk menyembunyikan kolom yang dimaksud karena saya memiliki dokumen yang terhubung ke Lembar ini yang menarik dua baris pertama saat saya menambahkannya.

Formula untuk tanggal dan pemformatan

Format Tanggal Kustom

Hasil Tabel Pivot

Nick Mean
sumber