Analisis Data

cannot_group_without_agg Google Sheets: Fix & SUMIFS

ModelMonkey13 Juni 20263 menit baca

Kalau daftar SKU aktif Anda tidak tetap dan tidak mau hardcode satu baris per SKU, QUERY lebih tepat - tapi hanya efektif kalau data sudah ada di satu tab yang sama:

=QUERY(
  'L&R'!A:E,
  "SELECT C, SUM(D), SUM(E), (SUM(D)-SUM(E))/SUM(D)
   WHERE A >= date '2026-04-01' AND A <= date '2026-06-30'
   GROUP BY C
   ORDER BY (SUM(D)-SUM(E))/SUM(D) DESC
   LABEL C 'SKU', SUM(D) 'Pendapatan', SUM(E) 'HPP'",
  1
)

SKU baru otomatis muncul di output begitu ada transaksinya di data. Tidak perlu update formula atau template.

Perhatikan kenapa ekspresi margin (SUM(D)-SUM(E))/SUM(D) tidak memicu error cannot_group_without_agg: setiap komponen sudah diagregasi. Satu nilai per grup, setiap saat. Yang tidak boleh adalah SUM(D)/D karena D di penyebut tidak diagregasi.

Kekurangannya: kalau batas tanggal Anda dinamis dari Asumsi!$B$1, QUERY tidak bisa membacanya langsung. Anda harus melakukan penggabungan string seperti ini, yang rentan gagal:

=QUERY(
  'L&R'!A:E,
  "SELECT C, SUM(D) WHERE A >= date '" & TEXT(Asumsi!$B$1,"yyyy-MM-dd") & "'
   GROUP BY C",
  1
)

Satu karakter salah di format tanggal, satu spasi ekstra, atau sel Asumsi yang tidak terformat sebagai Date akan menghasilkan error yang tidak menyebut tanggal sama sekali. Untuk kasus ini, kembali ke SUMIFS.

Perbaikan Cepat Error cannot_group_without_agg

Kalau Anda sudah terlanjur kena errornya: audit setiap kolom di SELECT. Kolom yang tidak ada di GROUP BY dan tidak dibungkus fungsi agregat adalah penyebabnya.

-- Error: C muncul di SELECT tapi tidak di GROUP BY dan tidak diagregasi
=QUERY('L&R'!A:E, "SELECT B, C, SUM(D) GROUP BY B", 1)

-- Solusi 1: tambahkan C ke GROUP BY (satu baris per pasangan wilayah-SKU)
=QUERY('L&R'!A:E, "SELECT B, C, SUM(D) GROUP BY B, C", 1)

-- Solusi 2: hapus C dari SELECT (satu baris per wilayah)
=QUERY('L&R'!A:E, "SELECT B, SUM(D) GROUP BY B", 1)

Dua hal yang sering bikin debugging lebih lama dari seharusnya:

  • COUNT tanpa argumen: COUNT() tidak valid di implementasi Google. Pakai COUNT(D). Per Juni 2026, sintaks yang salah ini kadang muncul sebagai cannot group without agg alih-alih pesan yang lebih spesifik - perilaku ini terdokumentasi dalam laporan komunitas di Google Issue Tracker (ID: 370958012, dilaporkan 2024).
  • Klausa LABEL: LABEL sendiri tidak menyebabkan error pengelompokan, tapi memberi label pada kolom yang sudah salah di SELECT akan menggeser pesan error sehingga terlihat seperti masalah label. Periksa SELECT dan GROUP BY dulu sebelum menyentuh LABEL.

ModelMonkey mendeteksi error QUERY ini sebelum ditulis ke sheet dan langsung menyarankan formula yang sudah diperbaiki di sidebar. Berguna ketika Anda sudah masuk beberapa level dalam model multi-tab dan pesan error tidak mengidentifikasi kolom mana yang bermasalah.

Pertanyaan Umum