ทำ Dashboard ยอดขายแบบเรียลไทม์จาก Google Sheets ด้วย Chart.js
อัปเดต 5 ตุลาคม 2026
เจ้าของร้านอยากเห็น ยอดขายวันนี้ สินค้าขายดี และแนวโน้มรายสัปดาห์ จากมือถือโดยไม่ต้องเปิดชีตยาว ๆ แดชบอร์ดบนเว็บแอป Apps Script ตอบโจทย์นี้ได้โดยไม่มีค่าใช้จ่าย
ระบบพร้อมใช้ที่เกี่ยวข้อง
สรุปข้อมูลที่ฝั่งเซิร์ฟเวอร์
ส่งเฉพาะ "ผลสรุป" ไปที่หน้าเว็บ ไม่ส่งข้อมูลดิบทั้งหมด หน้าเว็บจะโหลดเร็วมาก
function getDashboard(days) {
const rows = SpreadsheetApp.getActive().getSheetByName('sales').getDataRange().getValues().slice(1);
const from = new Date(Date.now() - days * 864e5);
const byDay = {}, byItem = {};
rows.forEach(([date, item, qty, total]) => {
if (new Date(date) < from) return;
const d = Utilities.formatDate(new Date(date), 'Asia/Bangkok', 'dd/MM');
byDay[d] = (byDay[d] || 0) + total;
byItem[item] = (byItem[item] || 0) + qty;
});
const top = Object.entries(byItem).sort((a, b) => b[1] - a[1]).slice(0, 5);
return { byDay, top };
}
วาดกราฟด้วย Chart.js
<canvas id="sales"></canvas>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
google.script.run.withSuccessHandler(d => {
new Chart(document.getElementById('sales'), {
type: 'line',
data: { labels: Object.keys(d.byDay),
datasets: [{ label: 'ยอดขาย', data: Object.values(d.byDay), tension: .3, fill: true }] },
});
}).getDashboard(30);
</script>
ไอเดียตัวชี้วัด (KPI) ที่ควรมี
- ยอดขายวันนี้ / เดือนนี้ เทียบช่วงก่อนหน้า
- จำนวนบิล และยอดเฉลี่ยต่อบิล
- สินค้าขายดี 5 อันดับ / สินค้าใกล้หมด
- ยอดขายแยกช่องทาง (หน้าร้าน, เดลิเวอรี่)
คำถามที่พบบ่อย: Dashboard ยอดขายจาก Google Sheets
อัปเดตทุกครั้งที่เปิดหรือรีเฟรชหน้า ถ้าต้องการอัปเดตเองเป็นระยะ ใช้ setInterval เรียก google.script.run ทุก 1–5 นาที
สรุปยอดรายวันเก็บไว้ในชีตแยกด้วย Trigger ทุกคืน แล้วให้แดชบอร์ดอ่านจากชีตสรุปแทนข้อมูลดิบ
ได้ Looker Studio เชื่อม Google Sheets ได้ฟรี เหมาะกับรายงานเชิงวิเคราะห์ ส่วนแดชบอร์ดบนเว็บแอปเหมาะกับการรวมไว้ในระบบเดียวกับหน้าขาย
ระบบอื่นที่น่าสนใจ
POS ร้านขายยา
จ่ายยาถูกคน ถูกล็อต ไม่มียาหมดอายุค้างชั้น · ชื่อสามัญ ประเภทยา เภสัชกรยืนยัน เตือนแพ้ยา ล็อต FEFO ฉลากยา บัญชีขายยาอันตราย · บน Google Sheets ของร้านเอง ไม่มีค่ารายเดือน
POS ร้านอาหาร (โต๊ะ ครัว QR สั่งอาหาร)
ผังโต๊ะสด · ลูกค้าสแกน QR สั่งอาหารที่โต๊ะ · จอครัว · แจ้งเตือนเรียกพนักงาน · ค่าบริการ · เมนูหมดอัตโนมัติ + แจ้งวัตถุดิบหมดทาง LINE/อีเมล · ไม่มีค่ารายเดือน