Tabel Laporan Penjualan: Struktur Kolom yang Benar Sejak Awal
Blog/Tutorial Excel & Sheets/Tabel Laporan Penjualan: Struktur Kolom yang Benar Sejak Awal

Tabel Laporan Penjualan: Struktur Kolom yang Benar Sejak Awal

BimaBima
·9 Juli 2025·9 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Tabel laporan penjualan yang benar punya satu baris untuk satu item transaksi, dengan kolom minimal berisi tanggal, nomor transaksi, kode produk, nama produk, kategori, jumlah, harga satuan, diskon, total, dan channel penjualan. Data mentah dipisah dari hasil rekap, dan daftar produk disimpan di sheet master terpisah supaya nama produk nggak ditulis beda-beda. Struktur ini bikin pivot table dan rumus SUMIFS jalan tanpa perlu bersih-bersih dulu.

Tabel laporan penjualan yang benar punya satu baris untuk satu item transaksi, dengan kolom yang tetap dan tipe data yang konsisten dari baris pertama sampai terakhir.

Kedengeran sepele. Tapi struktur kolom yang salah di minggu pertama bakal nagih waktumu tiap akhir bulan, terus-terusan.

Aku pernah lihat file penjualan warung yang isinya 14 sheet, satu sheet per bulan, dengan urutan kolom yang beda tiap sheet. Rekap setahun butuh dua hari kerja. Padahal datanya cuma 8 ribuan baris.

Di bawah ini 10 kolom wajib, aturan penyusunan barisnya, dan cara misahin data mentah dari hasil rekap.

Apa itu tabel laporan penjualan yang benar?

Tabel laporan penjualan yang benar adalah satu tabel datar berisi transaksi mentah, di mana tiap baris mewakili satu item yang terjual dan tiap kolom menyimpan satu jenis informasi. Nggak ada sel gabungan, nggak ada baris kosong, dan nggak ada subtotal nyempil di tengah data. Semua rekap dihitung di sheet lain.

Bentuk ini yang bikin pivot table, SUMIFS, dan grafik jalan tanpa kamu perlu bersih-bersih dulu.

Lawannya adalah tabel yang dibikin buat enak dilihat manusia. Bulan jadi kolom, ada baris total di tengah, kolom kategori digabung pakai merge cell. Rapi di layar, tapi setiap alat analisis bakal nyerah baca datanya.

Kolom apa aja yang wajib ada?

Sepuluh kolom di bawah ini cukup buat hampir semua usaha kecil. Urutannya sengaja dibikin dari yang paling sering dipakai buat filter di paling kiri.

Nama kolomIsiFormatContoh
tanggalTanggal transaksiDate09/07/2025
no_transaksiNomor struk, sama untuk item dalam satu strukTextTRX-0912
kode_produkKode unik dari sheet masterTextMG-001
nama_produkDitarik otomatis dari masterTextMinyak Goreng 1L
kategoriDitarik otomatis dari masterTextSembako
qtyJumlah unit terjualNumber3
harga_satuanHarga jual per unit saat transaksiNumber18500
diskonPotongan dalam rupiah, isi 0 kalau nggak adaNumber1000
totalHasil rumus, bukan ketikanNumber54500
channelTempat transaksi terjadiTextToko

Kolom total diisi rumus, bukan angka ketikan:

=F2*G2-H2

Kalau kamu punya lebih dari satu kasir, tambahin kolom kasir. Kalau kamu jualan di beberapa cabang, tambahin cabang. Dua kolom itu murah biayanya sekarang, dan mahal banget kalau baru ditambah setelah data numpuk setahun.

Kenapa satu baris harus satu item transaksi?

Karena kamu butuh dua angka yang berbeda dari data yang sama: jumlah struk dan jumlah item terjual.

Kalau satu struk berisi tiga produk, tulis tiga baris dengan no_transaksi yang sama. Dari situ kamu bisa hitung dua-duanya. Jumlah struk pakai nomor transaksi unik, jumlah item pakai jumlah baris.

Cara yang salah dan sering kejadian: nulis tiga produk dalam satu sel dipisah koma. Bentuk ini bikin pivot table baca satu kombinasi produk sebagai satu produk. Kamu nggak akan pernah tau berapa banyak minyak goreng yang beneran laku.

Buat ngitung jumlah struk unik di Excel:

=SUMPRODUCT(1/COUNTIF(B2:B5000;B2:B5000))

Rumus ini ngitung berapa nilai berbeda ada di kolom nomor transaksi. Di Google Sheets ada versi yang lebih pendek pakai =COUNTUNIQUE(B2:B5000).

Gimana aturan penamaan dan format kolom?

Empat aturan yang bikin hidupmu gampang enam bulan lagi:

  1. Nama kolom satu baris, di baris 1, tanpa spasi. Pakai underscore: harga_satuan, bukan Harga Satuan (Rp). Judul laporan taruh di sheet lain.
  2. Angka disimpan sebagai angka. Jangan tulis Rp 18.500 sebagai teks. Simpan 18500, terus atur tampilan rupiahnya lewat format sel.
  3. Tanggal disimpan sebagai tanggal. Ketik 09/07/2025, bukan 9 Juli. Cek cepat: kalau angkanya rata kiri di sel, itu masih teks dan belum kebaca sebagai tanggal.
  4. Satu sel satu nilai. Nggak ada merge cell, nggak ada dua informasi digabung, nggak ada catatan tambahan di sel yang sama.

Aturan kedua dan ketiga yang paling sering dilanggar, dan dua-duanya bikin SUMIFS balikin nol tanpa pesan error apa pun.

Gimana misahin sheet master produk dari tabel transaksi?

Bikin sheet kedua namanya master_produk, isinya empat kolom: kode_produk, nama_produk, kategori, harga_normal. Satu baris satu produk, dan kode produk nggak boleh dobel.

Di sheet transaksi, kamu cuma input kode produknya. Nama dan kategori ditarik otomatis:

=XLOOKUP(C2;master_produk!A:A;master_produk!B:B;"kode tidak ditemukan")

Buat Excel versi lama yang belum punya XLOOKUP:

=IFERROR(VLOOKUP(C2;master_produk!A:D;2;FALSE);"kode tidak ditemukan")

Supaya kode produk nggak salah ketik, pasang dropdown di kolom kode. Blok kolom C, masuk Data, Data Validation, pilih List, arahkan ke kolom kode di sheet master. Cara lengkapnya ada di panduan data validation Excel.

Efeknya besar. Tanpa master, orang bakal ngetik Minyak Goreng 1L, minyak goreng 1 liter, dan Mnyk Goreng 1L di tiga hari berbeda. Pivot table baca itu sebagai tiga produk.

Gimana bikin tabelnya di Excel dan Google Sheets?

Setelah kolom siap, ubah jadi Table (Excel) atau range bernama (Sheets). Ini yang bikin rumus dan pivot ikut tumbuh waktu data nambah.

  1. Klik satu sel di dalam data.
  2. Tekan Ctrl + T di Excel, pastikan kotak My table has headers tercentang, klik OK.
  3. Kasih nama tabelnya lewat tab Table Design, misalnya tbl_penjualan.
  4. Freeze baris pertama lewat View, Freeze Panes, Freeze Top Row.
  5. Bikin sheet ketiga namanya rekap. Semua pivot table dan grafik taruh di sini.

Keuntungan Table: baris baru yang kamu ketik di bawah otomatis masuk ke tabel, dan pivot table di sheet rekap tinggal di-refresh. Penjelasan resminya ada di dokumentasi Microsoft soal Excel Table.

Di Google Sheets, kamu bisa tarik rekapnya pakai QUERY tanpa pivot sama sekali:

=QUERY(transaksi!A:J;
  "select E, sum(I)
   where A is not null
   group by E
   order by sum(I) desc
   label sum(I) 'Omzet'";1)

Cara kerja fungsinya aku jelasin di fungsi QUERY Google Sheets. Kalau mau kolom total kehitung sendiri sampai baris paling bawah, pakai ARRAYFORMULA.

Contoh kasus: toko_berkah rombak struktur kolomnya

Data toko_berkah punya Ngulik Data isinya 8.400 transaksi warung kelontong di Semarang selama tiga bulan. Versi awalnya diketik manual tanpa kode produk.

Waktu aku hitung nilai unik di kolom nama produk, hasilnya 412 nama berbeda. Padahal produk yang beneran dijual cuma 142. Sisanya beda ejaan, beda kapital, dan beda singkatan buat barang yang sama.

Artinya hampir 3 dari 10 nama produk di data itu duplikat yang nyamar. Semua laporan produk terlaris yang dibikin dari data itu salah, dan salahnya nggak kelihatan karena angkanya tetap keluar.

KondisiNama produk unikProduk asliWaktu rekap bulanan
Sebelum, ketik manual412142Sekitar 3 jam
Sesudah, pakai kode produk142142Sekitar 12 menit

Perbaikannya nggak rumit. Bikin sheet master 142 produk, kasih kode, pasang dropdown di kolom kode, dan nama plus kategori ditarik pakai XLOOKUP.

Keputusan yang berubah setelah datanya bersih: produk terlaris ternyata bukan mie instan seperti yang dikira pemiliknya, tapi minyak goreng kemasan. Nama minyak goreng tadinya kepecah jadi 6 ejaan berbeda, jadi angkanya nggak pernah kelihatan utuh di pivot table.

Kesalahan umum waktu nyusun tabel penjualan

Bikin satu sheet per bulan. Ini yang paling sering. Dua belas sheet dengan struktur mirip tapi nggak persis sama bikin rekap tahunan jadi kerja manual. Simpan semua di satu sheet, pakai kolom tanggal buat misahin.

 

Naruh subtotal di tengah data. Baris berisi kata Total di antara transaksi bikin pivot table ngitung angka yang sama dua kali. Semua total taruh di sheet rekap.

Nulis rupiah sebagai teks. Rp 18.500 yang diketik langsung itu teks, bukan angka. SUM-nya bakal balikin 0. Simpan 18500, atur tampilannya lewat format sel.

Nambah kolom di tengah setelah data jalan. Rumus yang nunjuk kolom tertentu bakal geser dan diam-diam salah. Tambahin kolom baru di ujung kanan.

Nggak nyimpen harga saat transaksi. Harga produk berubah tiap beberapa bulan. Kalau kolom harga selalu ditarik dari master, laporan bulan lalu ikut berubah waktu harga naik. Simpan harga jual di kolom transaksi, master cuma buat nilai awalnya.

FAQ

Kolom apa aja yang wajib ada di tabel laporan penjualan?

Minimal sepuluh: tanggal, nomor transaksi, kode produk, nama produk, kategori, jumlah, harga satuan, diskon, total, dan channel penjualan. Sepuluh kolom ini cukup buat jawab hampir semua pertanyaan rekap, mulai dari omzet harian sampai produk terlaris per channel. Kalau usahamu punya kasir lebih dari satu, tambahin kolom nama kasir biar bisa dipakai buat rekap shift.

Boleh nggak satu baris berisi beberapa produk sekaligus?

Jangan. Satu baris harus mewakili satu item dalam satu transaksi. Kalau satu struk berisi tiga produk, tulis tiga baris dengan nomor transaksi yang sama. Cara ini bikin kamu tetap bisa hitung jumlah struk pakai nomor transaksi unik, sekaligus hitung penjualan per produk. Menggabungkan beberapa produk dalam satu sel bikin pivot table nggak bisa mecah datanya.

Kenapa nama produk perlu dipisah ke sheet master?

Karena kalau nama diketik ulang tiap transaksi, ejaannya bakal beda-beda. Minyak Goreng 1L, minyak goreng 1 liter, dan Mnyk Goreng 1L kebaca sebagai tiga produk berbeda oleh pivot table. Dengan sheet master, kamu cukup input kode produk, dan nama plus harga ditarik otomatis pakai VLOOKUP atau XLOOKUP. Satu kali betulin di master, semua laporan ikut bener.

Kolom total sebaiknya diketik manual atau pakai rumus?

Pakai rumus. Isi kolom total dengan jumlah dikali harga satuan dikurangi diskon, jangan angka ketikan. Kalau diketik manual, kamu nggak punya cara ngecek apakah angkanya cocok sama qty dan harga. Rumus juga bikin koreksi jadi gampang: ubah jumlahnya, totalnya ikut berubah sendiri tanpa kamu perlu inget benerin dua tempat.

Perlu bikin sheet terpisah buat rekap bulanan?

Perlu. Sheet data mentah isinya cuma transaksi, satu baris satu item, tanpa baris kosong dan tanpa subtotal di tengah. Rekap bulanan taruh di sheet lain, ambil datanya pakai pivot table atau SUMIFS. Kalau subtotal dicampur di sheet mentah, pivot table bakal ngitung angka yang sama dua kali dan omzetmu kelihatan dobel.

Penutup

Tiga hal yang paling nentuin:

  • Satu baris satu item transaksi, nomor struk boleh berulang
  • Kode produk dari sheet master, jangan ngetik nama ulang-ulang
  • Data mentah dan rekap tinggal di sheet yang berbeda

Coba buka file penjualanmu sekarang, hitung berapa nama produk unik yang ada di sana, terus bandingin sama jumlah produk yang beneran kamu jual. Selisihnya bakal ngasih tau seberapa mendesak kamu butuh sheet master.

Kalau mau langsung pakai kerangka yang udah jadi, ambil dari template laporan penjualan Excel. Buat ngerapiin data lama yang terlanjur dobel, lanjut ke cara hapus duplikat di Excel.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
Tutorial Excel & Sheets
19 Juli 2026•9 menit baca

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)

INDEX MATCH gabung dua fungsi buat lookup yang bisa nyari ke kiri dan nggak gampang rusak. Ini alasan banyak analis pindah dari VLOOKUP.

BimaBima
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
Tutorial Excel & Sheets
18 Juli 2026•8 menit baca

SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)

SUMPRODUCT ngaliin dua kolom atau lebih baris per baris, terus jumlahin hasilnya. Cocok buat total qty kali harga sampai hitungan bersyarat.

BimaBima
REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)
Tutorial Excel & Sheets
17 Juli 2026•8 menit baca

REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)

REGEXMATCH ngecek apakah teks cocok sama pola tertentu dan balikin TRUE atau FALSE. Cocok buat validasi nomor HP, email, sampai filter data berantakan.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore