Mahir Fungsi Excel: GROUPBY


Microsoft Excel terus berkembang dengan fitur-fitur baru, khususnya untuk versi 365. Salah satu fitur unggulannya yaitu array dinamis yang memungkinkan hasil rumus mengisi rentang sel secara otomatis tanpa perlu diseret manual. Salah satu fungsi yang termasuk dalam array dinamis adalah GROUPBY
. Fungsi GROUPBY
memungkinkan kita untuk membuat ringkasan data menggunakan rumus saja. Fungsi ini mendukung pengelompokan (grouping) berdasarkan satu sumbu dan melakukan agregasi terhadap nilai-nilai yang terkait. Misalnya, jika kita memiliki tabel data penjualan, kita bisa membuat ringkasan penjualan berdasarkan tahun. Dengan menggunakan fungsi GROUPBY
, kita dapat membuat agregasi secara cepat tanpa harus menggunakan kombinasi rumus yang rumit atau bahkan menggunakan tabel pivot.
Formula GROUPBY
Format sintaks fungsi GROUPBY
adalah sebagai berikut:
GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship])
Penjelasan parameter:
row_fields
: Kolom atau kolom-kolom yang digunakan sebagai dasar pengelompokanvalues
: Kolom nilai yang akan diagregasifunction
: Fungsi agregasi yang digunakan (misalnyaSUM
,AVERAGE
,COUNT
, dll.)[field_headers]
: (Opsional) Header nama field untuk hasil ringkasan. Terdapat beberapa pilihan jika diisi:0
: field tanpa header1
: field memiliki header (namun jangan ditampilkan)2
: field tanpa header (akan di-generate header default)3
: field memiliki header (tampilkan sebagai output)
[total_depth]
: (Opsional) Level total/subtotal dalam ringkasan0
: tanpa tambahan baris Total1
: tambahkan kolom Grand Total2
: tambahkan kolom Total dan Grand Total (jika di-grouping dengan dua kolom atau lebih)-1
: tambahkan kolom Grand Total (di baris bagian atas)-2
: tambahkan kolom Total dan Grand Total (di baris bagian atas)
[sort_order]
: (Opsional) Urutan sortir hasil[filter_array]
: (Opsional) Filter yang ingin diterapkan pada data[field_relationship]
: (Opsional) Hubungan antar field jika bekerja dengan beberapa tabel
Beberapa fungsi agregasi yang sering digunakan dalam GROUPBY
:
SUM
: Menjumlahkan nilai dalam kelompok tertentuAVERAGE
: Menghitung rata-rata dari setiap kelompok dataCOUNT
: Menghitung jumlah item dalam kelompok tertentuMAX
: Mengambil nilai tertinggi dari setiap kelompokMIN
: Mengambil nilai terendah dari setiap kelompokSTDEV
: Menghitung standar deviasi dalam setiap kelompok, berguna untuk analisis statistikUNIQUE
: Menghitung nilai unik dari kelompok data- Dan lain-lain
Contoh Penggunaan GROUPBY
Bayangkan kita memiliki data seperti tabel berikut ini. Misalkan kita diminta untuk menghitung hal-hal berikut:
- Berapa total pengeluaran untuk membayar gaji untuk setiap divisi?
- Berapa Rata-rata besaran gaji per level jabatan?
- Berapa jumlah karyawan di setiap divisi menurut level jabatan?
Pertanyaan-pertanyaan ini sangat mudah dijawab hanya dengan menggunakan fungsi GROUPBY
saja.


Fungsi GROUPBY
termasuk bagian fungsi dynamic array, sehingga kita hanya perlu menulis formulanya pada satu sel saja. Output fungsi ini akan secara otomatis akan mengisi sel-sel yang diperlukan. Jadi, pada contoh di bawah ini formula hanya dituliskan pada satu sel saja, misalkan di H2
sel berwarna kuning).
Penjelasan dari formula adalah sebagai berikut:
row_fields
yaituC2:C17
(range kolom sebagai dasar pengelompokan)values
yaituE2:E17
(range kolom yang akan diagregasi, misalnya: jumlah, rata-rata dsb)function
yaituSUM
(fungsi Excel untuk penjumlahan)[field_headers]
yaitu3
(range field yang kita berikan termasuk header, dan akan kita gunakan juga sebagai header output)[total_depth]
yaitu1
(tambahkan Grand Total – Default)[sort_order]
yaitu1
(Kolom Divisi diurutkan ascending)
Microsoft Excel
GROUPBY(C2:C17, E2:E17, SUM, 3, 1, 1)


Untuk menghitung rata-rata gaji per jabatan kita dapat menggunakan GROUPBY
dengan function
AVERAGE
. Agar contoh bervariasi, kali ini kita akan menampilkan output tanpa header. Header akan kita buat secara manual saja, misal dengan nama Jabatan dan Rata-Rata Gaji.
Berikut penjelasan dari formula yang digunakan:
row_fields
yaituD2:D17
(range kolom sebagai dasar pengelompokan)values
yaituE2:E17
(range kolom yang akan diagregasi)function
yaituAVERAGE
(fungsi Excel untuk menghitung rata-rata)[field_headers]
yaitu1
(range field yang diberikan termasuk header, namun tidak ingin menampilkan header tersebut)[total_depth]
yaitu0
(Tidak perlu menambahkan baris Total)
Microsoft Excel
=GROUPBY(D2:D17, E2:E17, AVERAGE, 1, 0)


Pengelompokan tidak hanya bisa dilakukan untuk satu kolom saja. Kita bisa mengelompokkan berdasarkan dua atau lebih, misalnya untuk mengetahui jumlah karyawan untuk setiap jabatan di setiap divisi.
Berikut penjelasan formula yang digunakan:
row_fields
yaituC2:D17
(range kolom sebagai dasar pengelompokan, kolom C dan D)values
yaituE2:E17
(range kolom yang akan diagregasi)function
yaituCOUNT
(fungsi Excel untuk menghitung jumlah data)[field_headers]
yaitu1
(range field yang diberikan termasuk header, namun tidak ingin menampilkan header tersebut)[total_depth]
yaitu2
(Menambahkan baris Total dan Grand Total)
Microsoft Excel
=GROUPBY(C2:D17, E2:E17, COUNT, 1, 2)


Bagi pembaca yang ingin mencoba dengan data ini dapat mengunduh file berikut: Data Latihan GROUPBY