เคยเจอปัญหาเหล่านี้ไหม? เปิดไฟล์ Google Sheet ที่เพื่อนร่วมงานส่งมา แล้วงงว่าข้อมูลอยู่ตรงไหน สูตรพังเพราะมีคนแทรกแถว ข้อมูลกับรายงานปนกันจนแยกไม่ออก หรือต้องแก้สูตรใหม่ทุกเดือนเพราะโครงสร้างไม่รองรับข้อมูลที่เพิ่มขึ้น
ปัญหาทั้งหมดนี้มีสาเหตุเดียวกัน คือ โครงสร้างข้อมูลที่ไม่ดีตั้งแต่แรกคนส่วนใหญ่เปิด Google Sheet แล้วเริ่มพิมพ์ข้อมูลทันที ใส่สูตรปนกับข้อมูลดิบ Merge Cell เพื่อความสวยงาม เว้นแถวเพื่อแบ่งกลุ่ม ผลคือไฟล์ที่ดูสวยแต่ใช้งานจริงไม่ได้
หลักการสำคัญของบทความนี้
ถ้าเราวางโครงสร้างข้อมูลถูกตั้งแต่แรก จะใช้แค่ 6-7 สูตรพื้นฐานก็ทำงานได้ทุกอย่าง ไม่ต้องท่องสูตรเป็นร้อย ไม่ต้องเขียน ARRAYFORMULA ซับซ้อน
เราสอนจากงาน ไม่ใช่สอนสูตร -- นี่คือหัวใจของ Google Sheet Style
บทความนี้จะพาไปตั้งแต่หลักการพื้นฐาน ไปจนถึงตัวอย่างจริง 3 ระบบ ที่สามารถนำไปปรับใช้กับงานของเราได้ทันที ไม่ว่าจะเป็นระบบบันทึกการขาย ระบบจัดการพนักงาน หรือระบบสต็อกสินค้า
เนื้อหาในบทความ
หลักการ: แยก Sheet ข้อมูล (Database) กับ Sheet สรุป (Report)
หลักการที่สำคัญที่สุดในการใช้ Google Sheet คือ แยกข้อมูลดิบออกจากรายงานคิดง่ายๆ ว่า Google Sheet ของเราเหมือนบริษัท ที่ต้องมี 2 แผนก
Sheet ข้อมูล (Database)
เก็บข้อมูลดิบทั้งหมด เหมือนคลังเก็บเอกสาร
- แต่ละแถวคือ 1 รายการ (1 ออเดอร์, 1 พนักงาน)
- ไม่มีสูตร ไม่มีการจัดรูปแบบซับซ้อน
- ข้อมูลเพิ่มได้เรื่อยๆ ไม่มีวันเต็ม
- ห้าม Merge Cell ห้ามเว้นแถว
Sheet รายงาน (Report)
ดึงข้อมูลจาก Database มาสรุป เหมือนรายงานสำหรับหัวหน้า
- ใช้สูตรดึงข้อมูลจาก Sheet ข้อมูล
- จัดรูปแบบสวยงามได้ตามต้องการ
- อัปเดตอัตโนมัติเมื่อข้อมูลดิบเปลี่ยน
- สร้างได้หลายมุมมองจากข้อมูลชุดเดียว
ทำไมต้องแยก?
ลองคิดแบบนี้ ถ้าเรามีร้านค้า จะเอาสินค้าไปวางปนกับใบเสร็จไหม? แน่นอนว่าไม่ เพราะมันจะวุ่นวาย หาอะไรไม่เจอ
Google Sheet ก็เหมือนกัน ถ้าข้อมูลดิบปนกับรายงาน เมื่อข้อมูลเพิ่มขึ้นทุกอย่างจะพังหมด สูตรไม่ทำงาน หาข้อมูลไม่เจอ แต่ถ้าแยกตั้งแต่แรก ต่อให้ข้อมูลมีเป็นหมื่นแถวก็ไม่มีปัญหา
ในทางปฏิบัติ ไฟล์ Google Sheet 1 ไฟล์ควรมีอย่างน้อย 2 Sheet คือ Sheet สำหรับเก็บข้อมูลดิบ และ Sheet สำหรับรายงาน ถ้าระบบซับซ้อนขึ้นอาจมี Sheet ข้อมูลหลายตัว เช่น ข้อมูลสินค้า ข้อมูลลูกค้า ข้อมูลการขาย แล้วมี Sheet รายงานดึงข้อมูลจากหลาย Sheet มารวมกัน
ตัวอย่าง 1: ระบบบันทึกการขาย
สมมติว่าเรามีร้านขายเสื้อผ้าออนไลน์ ต้องการบันทึกยอดขายทุกวัน แล้วดูรายงานสรุปยอดขายรายเดือน มาดูวิธีวางโครงสร้างที่ถูกต้อง
Sheet 1: ข้อมูลการขาย (Database)
Sheet นี้เก็บข้อมูลดิบทุกรายการขาย แต่ละแถวคือ 1 ออเดอร์
| วันที่ | เลขออเดอร์ | ชื่อสินค้า | หมวดหมู่ | จำนวน | ราคา/ชิ้น | รวม | ช่องทาง |
|---|---|---|---|---|---|---|---|
| 01/10/2024 | ORD-001 | เสื้อยืดสีขาว | เสื้อ | 2 | 350 | 700 | Shopee |
| 01/10/2024 | ORD-002 | กางเกงยีนส์ | กางเกง | 1 | 890 | 890 | LINE |
| 02/10/2024 | ORD-003 | เสื้อเชิ้ตลายทาง | เสื้อ | 1 | 550 | 550 | Shopee |
| 03/10/2024 | ORD-004 | กระเป๋าผ้า | เครื่องประดับ | 3 | 199 | 597 |
Sheet 2: รายงานยอดขาย (Report)
Sheet นี้ใช้สูตรดึงข้อมูลจาก Sheet ข้อมูลการขาย มาสรุปเป็นรายงาน
| รายการ | สูตร | ผลลัพธ์ |
|---|---|---|
| ยอดขายรวม | =SUM('ข้อมูลการขาย'!G:G) | 2,737 |
| จำนวนออเดอร์ | =COUNTA('ข้อมูลการขาย'!B2:B) | 4 |
| ยอดขาย Shopee | =SUMIF('ข้อมูลการขาย'!H:H,"Shopee",'ข้อมูลการขาย'!G:G) | 1,250 |
| ยอดขายหมวดเสื้อ | =SUMIF('ข้อมูลการขาย'!D:D,"เสื้อ",'ข้อมูลการขาย'!G:G) | 1,250 |
สังเกตสิ่งสำคัญ
Sheet ข้อมูลไม่มีสูตรเลย มีแค่ข้อมูลดิบล้วนๆ ส่วน Sheet รายงานไม่มีข้อมูลดิบเลย มีแค่สูตรที่ดึงข้อมูลมาคำนวณ การแยกแบบนี้ทำให้เมื่อเราเพิ่มออเดอร์ใหม่ใน Sheet ข้อมูล รายงานจะอัปเดตอัตโนมัติทันทีโดยไม่ต้องแก้สูตรอะไรเลย
กฎ 5 ข้อของ Sheet ข้อมูลที่ดี
ก่อนจะไปดูสูตร มาทำความเข้าใจกฎพื้นฐานก่อน ถ้าทำตาม 5 ข้อนี้ สูตรทุกตัวจะทำงานได้ถูกต้อง 100%
1 แถว = 1 รายการ
นี่คือกฎที่สำคัญที่สุด แต่ละแถวต้องแทนข้อมูล 1 ชุดที่สมบูรณ์ ถ้าเป็นข้อมูลการขาย 1 แถว = 1 ออเดอร์ ถ้าเป็นข้อมูลพนักงาน 1 แถว = 1 คน
ผิด
แถว 1: สินค้า A + สินค้า B
แถว 2: สินค้า C
ปัญหา: 1 แถวมีหลายรายการ นับจำนวนไม่ถูก
ถูก
แถว 1: สินค้า A
แถว 2: สินค้า B
แถว 3: สินค้า C
COUNTA, SUMIF ทำงานได้ถูกต้อง
ไม่ Merge Cell
Merge Cell คือศัตรูอันดับ 1 ของการวิเคราะห์ข้อมูล พอ Merge Cell สูตรอย่าง VLOOKUP, SUMIF จะทำงานผิดพลาดทันที เพราะ Google Sheet ไม่สามารถระบุได้ว่าข้อมูลอยู่ในเซลล์ไหนกันแน่
ข้อเสียของ Merge Cell: Sort ไม่ได้, Filter ไม่ได้, Copy-Paste พัง, VLOOKUP หาค่าไม่เจอ, SUMIF นับซ้ำหรือตกหล่น
ไม่เว้นแถวว่าง
หลายคนชอบเว้นแถวว่างเพื่อแบ่งกลุ่มข้อมูล เช่น เว้นแถวระหว่างเดือน แต่การทำแบบนี้จะทำให้สูตรอย่าง SUBTOTAL, COUNTA นับข้อมูลผิด และ Filter จะหยุดทำงานที่แถวว่าง
ถ้าต้องการแบ่งกลุ่ม ให้ใช้คอลัมน์แยกแทน เช่น คอลัมน์ "เดือน" หรือ "หมวดหมู่" แล้วใช้ Filter หรือ Pivot Table เพื่อดูข้อมูลเฉพาะกลุ่มที่ต้องการ
Column Header ที่ชัดเจนในแถวแรก
แถวแรกต้องเป็นหัวคอลัมน์เสมอ ตั้งชื่อให้สั้น กระชับ และบอกได้ว่าคอลัมน์นั้นเก็บข้อมูลอะไร ชื่อที่ดีจะช่วยให้เราเขียนสูตรได้ง่ายขึ้น และคนอื่นที่มาใช้ไฟล์จะเข้าใจได้ทันที
ชื่อไม่ดี
ข้อมูล1 | ข้อมูล2 | data | col_a
ชื่อดี
วันที่ | ชื่อสินค้า | จำนวน | ราคา
ข้อมูลในแต่ละคอลัมน์ต้องเป็นประเภทเดียวกัน
คอลัมน์ "ราคา" ต้องมีแต่ตัวเลข ห้ามมีข้อความอย่าง "ฟรี" หรือ "-" ปนอยู่ คอลัมน์ "วันที่" ต้องเป็นรูปแบบวันที่เท่านั้น ห้ามพิมพ์ "พรุ่งนี้" หรือ "ยังไม่กำหนด"
ถ้าข้อมูลผสมประเภทกัน สูตรอย่าง SUM จะข้ามเซลล์ที่เป็นข้อความ ทำให้ผลรวมผิดโดยที่เราไม่รู้ตัว ถ้าต้องการระบุว่า "ฟรี" ให้ใส่ 0 แทน แล้วเพิ่มคอลัมน์ "หมายเหตุ" เพื่อระบุว่าเป็นของฟรี
สรุปกฎ 5 ข้อ
ทำตาม 5 ข้อนี้ สูตรทุกตัวจะทำงานได้ถูกต้อง
สูตร 6-7 ตัวที่ใช้จริง
นี่คือสิ่งที่ทำให้ Google Sheet Style ต่างจากที่อื่น เราไม่สอนสูตรเป็นร้อยตัว แต่สอนให้วางโครงสร้างข้อมูลให้ดี แล้วใช้แค่สูตรพื้นฐาน 6-7 ตัวนี้ก็ทำงานได้ทุกอย่าง
ทำไมแค่ 6-7 สูตรก็พอ?
เพราะถ้าโครงสร้างข้อมูลดี ทุกปัญหาสามารถแก้ได้ด้วยสูตรพื้นฐาน คนที่ต้องใช้สูตรซับซ้อนมักเป็นเพราะโครงสร้างข้อมูลไม่ดี ไม่ใช่เพราะงานยาก
1. VLOOKUP - ค้นหาข้อมูลจากตาราง
ใช้เมื่อ: ต้องการค้นหาข้อมูลจาก Sheet หนึ่ง มาแสดงอีก Sheet เช่น พิมพ์รหัสพนักงาน แล้วดึงชื่อ แผนก เงินเดือน มาแสดงอัตโนมัติ
ตัวอย่าง: ค้นหาเลขออเดอร์ ORD-003 แล้วดึงยอดรวม (คอลัมน์ที่ 7) มาแสดง
2. SUMIF - รวมยอดตามเงื่อนไข
ใช้เมื่อ: ต้องการรวมยอดเฉพาะรายการที่ตรงเงื่อนไข เช่น ยอดขายเฉพาะหมวด "เสื้อ" ยอดขายเฉพาะช่องทาง "Shopee"
ตัวอย่าง: รวมยอดขาย (คอลัมน์ G) เฉพาะแถวที่หมวดหมู่ (คอลัมน์ D) เป็น "เสื้อ"
3. COUNTIF - นับจำนวนตามเงื่อนไข
ใช้เมื่อ: ต้องการนับจำนวนรายการที่ตรงเงื่อนไข เช่น จำนวนออเดอร์จาก Shopee จำนวนพนักงานแผนก IT
ตัวอย่าง: นับจำนวนออเดอร์ที่มาจากช่องทาง Shopee
4. IF - กำหนดเงื่อนไข
ใช้เมื่อ: ต้องการแบ่งกลุ่มข้อมูลตามเงื่อนไข หรือแสดงข้อความตามสถานะ เช่น ถ้ายอดมากกว่า 1,000 ให้แสดง "ออเดอร์ใหญ่"
ตัวอย่าง: ตรวจสอบยอดขาย ถ้ามากกว่า 1,000 บาท แสดง "ออเดอร์ใหญ่" ถ้าไม่ แสดง "ออเดอร์เล็ก"
5. SUBTOTAL - รวมเฉพาะที่แสดง (ใช้กับ Filter)
ใช้เมื่อ: ต้องการรวมยอดเฉพาะแถวที่แสดงอยู่ (ไม่นับแถวที่ถูก Filter ซ่อน) ใส่ 109 = SUM เฉพาะแถวที่เห็น, 103 = COUNTA เฉพาะแถวที่เห็น
ตัวอย่าง: เมื่อ Filter ดูเฉพาะ "Shopee" สูตรจะรวมยอดเฉพาะออเดอร์ Shopee ที่แสดงอยู่
6. COUNTA - นับเซลล์ที่ไม่ว่าง
ใช้เมื่อ: ต้องการนับจำนวนแถวข้อมูลทั้งหมด เช่น นับจำนวนออเดอร์ทั้งหมด นับจำนวนพนักงานทั้งหมด
ตัวอย่าง: นับจำนวนเซลล์ที่มีข้อมูลในคอลัมน์เลขออเดอร์ (เริ่มจากแถว 2 เพื่อไม่นับ Header)
7. COUNT - นับเซลล์ที่เป็นตัวเลข
ใช้เมื่อ: ต้องการนับเฉพาะเซลล์ที่มีตัวเลข ต่างจาก COUNTA ที่นับทุกเซลล์ที่ไม่ว่าง ใช้ตรวจสอบว่าข้อมูลครบถ้วนหรือมีเซลล์ไหนที่ยังไม่ได้ใส่ตัวเลข
ตัวอย่าง: นับจำนวนเซลล์ที่เป็นตัวเลขในคอลัมน์ยอดรวม ถ้าได้ไม่เท่ากับ COUNTA แปลว่ามีแถวที่ยังไม่ได้ใส่ราคา
จำง่ายๆ
- ค้นหา: VLOOKUP
- รวมยอด: SUMIF
- นับจำนวน: COUNTIF, COUNTA, COUNT
- ตั้งเงื่อนไข: IF
- รวมเฉพาะที่เห็น: SUBTOTAL
แค่ 7 สูตรนี้ ถ้าข้อมูลวางโครงสร้างดี ทำได้ทุกอย่างตั้งแต่ร้านค้าเล็กไปจนถึงบริษัทใหญ่
ตัวอย่าง 2: ระบบจัดการพนักงาน
ตัวอย่างนี้จะแสดงให้เห็นว่าเมื่อโครงสร้างข้อมูลถูกต้อง การสร้างรายงานหลายมุมมองจากข้อมูลชุดเดียวกันทำได้ง่ายแค่ไหน
Sheet 1: ข้อมูลพนักงาน (Database)
| รหัส | ชื่อ-สกุล | แผนก | ตำแหน่ง | วันเริ่มงาน | เงินเดือน | สถานะ |
|---|---|---|---|---|---|---|
| EMP-001 | สมชาย ใจดี | ขาย | ผู้จัดการ | 01/03/2020 | 45,000 | ทำงานอยู่ |
| EMP-002 | สมหญิง รักงาน | IT | โปรแกรมเมอร์ | 15/06/2021 | 55,000 | ทำงานอยู่ |
| EMP-003 | สมศรี มั่นคง | บัญชี | นักบัญชี | 01/01/2019 | 38,000 | ทำงานอยู่ |
| EMP-004 | สมปอง ขยัน | ขาย | พนักงานขาย | 01/08/2022 | 25,000 | ทำงานอยู่ |
Sheet 2: รายงาน Dashboard (Report)
จาก Sheet ข้อมูลเดียว สร้างรายงานได้หลายมุมมอง ดังนี้
สรุปตามแผนก
ค้นหาพนักงาน
จุดสำคัญ
สังเกตว่าเราใช้แค่ 3 สูตร (COUNTIF, SUMIF, VLOOKUP) ก็สร้างรายงานได้ครบถ้วน เพราะข้อมูลถูกวางโครงสร้างมาดีตั้งแต่แรก ไม่มี Merge Cell ไม่มีแถวว่าง ทุกคอลัมน์มีประเภทข้อมูลเดียวกัน
ตัวอย่าง 3: ระบบสต็อกสินค้า
ระบบสต็อกสินค้าเป็นตัวอย่างที่ดีที่สุดในการแสดงพลังของโครงสร้างข้อมูลที่ถูกต้อง เพราะต้องติดตามทั้งสินค้าเข้าและสินค้าออก แล้วคำนวณยอดคงเหลือ
Sheet 1: รายการสินค้า (Master Data)
Sheet นี้เก็บข้อมูลสินค้าทั้งหมด ไม่เปลี่ยนบ่อย
| รหัสสินค้า | ชื่อสินค้า | หมวดหมู่ | ราคาต้นทุน | ราคาขาย | จุดสั่งซื้อ |
|---|---|---|---|---|---|
| SKU-001 | เสื้อยืดสีขาว M | เสื้อ | 150 | 350 | 10 |
| SKU-002 | กางเกงยีนส์ L | กางเกง | 400 | 890 | 5 |
| SKU-003 | กระเป๋าผ้า | เครื่องประดับ | 80 | 199 | 20 |
Sheet 2: การเคลื่อนไหวสินค้า (Transaction Log)
Sheet นี้บันทึกทุกครั้งที่สินค้าเข้าหรือออก แต่ละแถว = 1 รายการเคลื่อนไหว
| วันที่ | รหัสสินค้า | ประเภท | จำนวน | หมายเหตุ |
|---|---|---|---|---|
| 01/10/2024 | SKU-001 | เข้า | 50 | สั่งซื้อล็อตใหม่ |
| 02/10/2024 | SKU-001 | ออก | 5 | ขาย Shopee |
| 02/10/2024 | SKU-002 | เข้า | 20 | สั่งซื้อล็อตใหม่ |
| 03/10/2024 | SKU-002 | ออก | 3 | ขาย LINE |
Sheet 3: สรุปสต็อกคงเหลือ (Report)
Sheet นี้ดึงข้อมูลจาก 2 Sheet ข้างต้นมาคำนวณสต็อกปัจจุบัน
| รหัส | ชื่อสินค้า | รับเข้า | จ่ายออก | คงเหลือ | สถานะ |
|---|---|---|---|---|---|
| SKU-001 | =VLOOKUP(...) | =SUMIFS(...,"เข้า") | =SUMIFS(...,"ออก") | =C2-D2 | =IF(E2<10,"สั่งเพิ่ม","ปกติ") |
สูตรที่ใช้ในแต่ละคอลัมน์:
ชื่อสินค้า: =VLOOKUP(A2, 'รายการสินค้า'!A:B, 2, FALSE)
รับเข้า: =SUMIFS('เคลื่อนไหว'!D:D, 'เคลื่อนไหว'!B:B, A2, 'เคลื่อนไหว'!C:C, "เข้า")
จ่ายออก: =SUMIFS('เคลื่อนไหว'!D:D, 'เคลื่อนไหว'!B:B, A2, 'เคลื่อนไหว'!C:C, "ออก")
คงเหลือ: =C2-D2
สถานะ: =IF(E2<VLOOKUP(A2,'รายการสินค้า'!A:F,6,FALSE), "สั่งเพิ่ม!", "ปกติ")
เห็นภาพรวมไหม?
ระบบสต็อกทั้งหมดใช้แค่ VLOOKUP, SUMIFS (SUMIF แบบหลายเงื่อนไข), IF รวม 3 สูตร! แต่ทำงานได้ครบถ้วน เพราะโครงสร้างข้อมูลถูกแยกอย่างชัดเจน Master Data อยู่แยก, Transaction Log อยู่แยก, Report อยู่แยก
ข้อผิดพลาดที่มือใหม่ทำ
หลังจากสอน Google Sheet มาหลายปี เราพบข้อผิดพลาดซ้ำๆ ที่คนส่วนใหญ่ทำ ถ้าหลีกเลี่ยงสิ่งเหล่านี้ได้ จะใช้ Google Sheet ได้ดีกว่า 90% ของคนทั่วไป
1. Merge Cell เพื่อความสวยงาม
นี่คือข้อผิดพลาดอันดับ 1 หลายคน Merge Cell เพื่อให้ตารางดูสวย แต่ผลที่ตามมาคือ Sort ไม่ได้ Filter ไม่ได้ Copy-Paste ข้อมูลพังหมด VLOOKUP หาค่าไม่เจอ
ทางออก: อย่า Merge Cell ใน Sheet ข้อมูลเด็ดขาด ถ้าต้องการความสวยงาม ทำใน Sheet รายงาน แยกต่างหาก
2. ใส่สูตรปนกับข้อมูลดิบ
เช่น ใส่สูตร =SUM ไว้ท้ายตารางข้อมูล หรือใส่ =IF ในคอลัมน์ที่ควรเป็นข้อมูลดิบ เมื่อเพิ่มแถวใหม่ สูตรจะไม่ครอบคลุมแถวที่เพิ่ม ต้องแก้สูตรทุกครั้ง
ทางออก: แยกสูตรไปอยู่ Sheet รายงานต่างหาก ใช้สูตรแบบ =SUM(G:G) หรือ =SUM(G2:G) ที่ครอบคลุมทั้งคอลัมน์
3. ใช้สีแทนข้อมูล
เช่น ทาสีแดงแทนคำว่า "ค้างชำระ" ทาสีเขียวแทน "จ่ายแล้ว" ปัญหาคือสูตรใน Google Sheet ไม่สามารถอ่านสีได้ จึงไม่สามารถใช้ COUNTIF นับจำนวนเซลล์สีแดงได้
ทางออก: เพิ่มคอลัมน์ "สถานะ" แยกต่างหาก แล้วพิมพ์ข้อความ เช่น "ค้างชำระ" "จ่ายแล้ว" จากนั้นใช้ Conditional Formatting ให้ Google Sheet ทาสีอัตโนมัติตามข้อความในคอลัมน์สถานะ
4. เว้นแถวว่างเพื่อแบ่งกลุ่ม
เช่น ข้อมูลเดือนมกราคม แล้วเว้น 1 แถว ตามด้วยข้อมูลเดือนกุมภาพันธ์ ดูสวยก็จริง แต่ SUBTOTAL จะนับผิด Filter จะหยุดที่แถวว่าง และ VLOOKUP อาจหาข้อมูลไม่เจอ
ทางออก: เพิ่มคอลัมน์ "เดือน" แล้วใช้ Filter แยกดูทีละเดือนแทน
5. พิมพ์ข้อมูลซ้ำหลายที่
เช่น มีข้อมูลลูกค้าอยู่ใน Sheet การขาย และ Copy ไปไว้ใน Sheet ส่งของอีก เมื่อลูกค้าเปลี่ยนที่อยู่ ต้องแก้ทุกที่ ถ้าลืมแก้ที่ไหนข้อมูลจะไม่ตรงกัน
ทางออก: เก็บข้อมูลไว้ที่เดียว (Master Data) แล้วใช้ VLOOKUP ดึงข้อมูลมาแสดงใน Sheet อื่น เมื่อแก้ที่ Master Data ทุก Sheet จะอัปเดตอัตโนมัติ
เคล็ดลับจากคนใช้งานจริง
เคล็ดลับเหล่านี้ได้มาจากประสบการณ์จริงในการใช้ Google Sheet จัดการธุรกิจ ทุกข้อผ่านการพิสูจน์แล้วว่าช่วยประหยัดเวลาและลดข้อผิดพลาดได้จริง
ตั้งชื่อ Sheet ให้สื่อความหมาย
แทนที่จะใช้ Sheet1, Sheet2 ให้ตั้งชื่อเป็น "DB-การขาย" "DB-สินค้า" "RPT-ยอดขาย" ใช้คำนำหน้า DB สำหรับ Sheet ข้อมูล และ RPT สำหรับ Sheet รายงาน จะได้แยกออกได้ทันทีว่า Sheet ไหนทำหน้าที่อะไร
ใช้ Data Validation สร้าง Dropdown
ทุกคอลัมน์ที่มีค่าซ้ำๆ เช่น หมวดหมู่ สถานะ ช่องทางขาย ให้สร้าง Dropdown ป้องกันการพิมพ์ผิดซึ่งจะทำให้ SUMIF, COUNTIF คำนวณผิด เช่น "Shopee" กับ "shopee" Google Sheet ถือว่าเป็นคนละค่า
Freeze แถว Header ไว้เสมอ
ไปที่ View > Freeze > 1 row เพื่อตรึงแถว Header ไว้ด้านบน เมื่อเลื่อนลงดูข้อมูลที่มีหลายร้อยแถว จะได้ยังเห็นชื่อคอลัมน์อยู่เสมอ
ป้องกัน Sheet รายงานด้วย Protect Sheet
Sheet รายงานที่มีสูตรควรถูกป้องกัน (Protect Sheet) เพื่อไม่ให้คนอื่นมาแก้สูตรโดยไม่ตั้งใจ ไปที่ Data > Protected sheets and ranges เพื่อตั้งค่า
ใช้ Conditional Formatting แทนการทาสีเอง
แทนที่จะทาสีเซลล์เอง ให้ตั้ง Conditional Formatting อัตโนมัติ เช่น ถ้าสต็อกต่ำกว่า 10 ให้แสดงสีแดง ถ้ายอดขายเกิน 1,000 ให้แสดงสีเขียว ข้อมูลจะถูกไฮไลท์อัตโนมัติตามเงื่อนไขที่ตั้งไว้
คิดจากรายงานย้อนกลับมาที่ข้อมูล
ก่อนสร้าง Sheet ข้อมูล ให้คิดก่อนว่าต้องการรายงานอะไร แล้วย้อนกลับมาว่าต้องเก็บข้อมูลอะไรบ้างถึงจะสรุปได้ วิธีนี้จะช่วยให้เราออกแบบคอลัมน์ได้ครบถ้วนตั้งแต่แรก ไม่ต้องกลับมาเพิ่มคอลัมน์ทีหลัง
พร้อมลองวางโครงสร้างข้อมูลด้วยตัวเองแล้วหรือยัง?
ดาวน์โหลดเทมเพลตที่วางโครงสร้างข้อมูลมาให้แล้ว นำไปปรับใช้กับงานของเราได้ทันที
คำถามที่พบบ่อย
ทำไมต้องแยก Sheet ข้อมูลกับ Sheet รายงาน?
การแยก Sheet ข้อมูล (Database) กับ Sheet รายงาน (Report) ทำให้ข้อมูลสะอาด ไม่ปนกัน สูตรไม่พัง เมื่อข้อมูลเพิ่มขึ้น และสามารถสร้างรายงานหลายมุมมองจากข้อมูลชุดเดียวกันได้ เหมือนกับหลักการออกแบบฐานข้อมูลของมืออาชีพ
ใช้แค่ 6-7 สูตรทำงานได้จริงหรือ?
ได้จริง ถ้าวางโครงสร้างข้อมูลถูกต้องตั้งแต่แรก สูตรพื้นฐานอย่าง VLOOKUP, SUMIF, COUNTIF, IF, SUBTOTAL, COUNTA และ COUNT ก็เพียงพอสำหรับงานส่วนใหญ่ ปัญหาที่คนต้องใช้สูตรซับซ้อนมักเกิดจากโครงสร้างข้อมูลที่ไม่ดี ไม่ใช่เพราะงานยาก
กฎ 5 ข้อของ Sheet ข้อมูลที่ดีคืออะไร?
กฎ 5 ข้อคือ: 1) หนึ่งแถวเท่ากับหนึ่งรายการ 2) ไม่ Merge Cell 3) ไม่เว้นแถวว่าง 4) มี Column Header ที่ชัดเจนในแถวแรก 5) ข้อมูลในแต่ละคอลัมน์ต้องเป็นประเภทเดียวกัน ถ้าทำตาม 5 ข้อนี้ สูตรทุกตัวจะทำงานได้อย่างถูกต้อง
เริ่มต้นวางโครงสร้างข้อมูลใน Google Sheet อย่างไรดี?
เริ่มจากคิดว่าต้องการรายงานอะไร แล้วย้อนกลับมาว่าต้องเก็บข้อมูลอะไรบ้าง สร้าง Sheet ข้อมูลดิบก่อน โดยทำตามกฎ 5 ข้อ จากนั้นสร้าง Sheet รายงานแยกต่างหาก แล้วใช้สูตรดึงข้อมูลจาก Sheet ข้อมูลมาสรุป วิธีนี้จะทำให้ระบบขยายได้ง่ายและไม่พังเมื่อข้อมูลเพิ่มขึ้น
บทความที่เกี่ยวข้อง
สร้าง Dashboard ยอดขายใน Google Sheet
สอนสร้าง Dashboard สรุปยอดขายแบบมืออาชีพ ดูภาพรวมธุรกิจได้ทันที