ให้ทีม 10 คนกรอกข้อมูลสาขา — บางคนพิมพ์ "สาขากรุงเทพ" บางคนพิมพ์ "กทม." บางคนพิมพ์ "BKK" ทำให้ SUMIF รวมยอดได้ไม่ครบ
Data Validation บังคับให้เลือกจาก Dropdown — ชื่อสาขาถูกต้องทุกแถว SUMIF ทำงานถูกต้อง ไม่ต้องกลับมาแก้ทีหลัง
Data Validation ทำงานเหมือนกันใน Excel และ Sheets
Excel: Data → Data Validation, Sheets: Data → Data validation — logic เหมือนกัน แต่ Sheets มี custom formula ที่ใช้งานง่ายกว่า
5 ประเภท Validation ที่ใช้บ่อย
| ประเภท | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| Number | ตัวเลขในช่วงที่กำหนด | อายุ 1-120, คะแนน 0-100 |
| List of items | เลือกจากตัวเลือกที่กำหนดไว้ | สถานะ: รอดำเนินการ,กำลังทำ,เสร็จ |
| List from range | เลือกจาก Sheet อื่น dynamic | ชื่อสาขาจาก Sheet Master |
| Date | จำกัดช่วงวันที่ | วันที่ไม่เกินวันนี้ ไม่ย้อนหลัง |
| Custom formula | กฎซับซ้อนที่ preset ทำไม่ได้ | ตรวจ email, เลขบัตรประชาชน |
สูตร Custom Validation ที่ใช้บ่อย
บังคับเลขบัตรประชาชน 13 หลัก
ตรวจว่าเป็นตัวเลข + ยาว 13 หลักพอดี ถ้ากรอกสั้นกว่าหรือมีตัวอักษรปนจะ reject
ตรวจรูปแบบ Email
ตรวจว่ามี @ ในค่าที่กรอก ถ้าไม่มีจะ reject — ไม่ได้ตรวจ domain แต่กรองข้อมูลผิดรูปแบบชัดเจนออกได้มาก
ตรวจว่าค่าไม่ซ้ำกัน
ถ้าค่าที่กรอกซ้ำกับค่าที่มีอยู่แล้วในคอลัมน์ จะ reject ทันที เหมาะสำหรับ เลข Invoice รหัสสินค้า
Dependent Dropdown (Dropdown ขึ้นกับ Dropdown อื่น)
เลือกจังหวัด → Dropdown อำเภอเปลี่ยนตาม — ใช้ INDIRECT:
ต้องสร้าง Named Range ชื่อ "กรุงเทพ" เก็บรายชื่อเขต, ชื่อ "เชียงใหม่" เก็บรายชื่ออำเภอ — เมื่อ C2 = "กรุงเทพ" INDIRECT จะดึง Named Range ชื่อ "กรุงเทพ" มาเป็น Dropdown

Dropdown จาก range + ข้อความเตือนเมื่อกรอกผิด
เทคนิคที่ทำให้ Validation มีประสิทธิภาพ
- เก็บ Master List ใน Sheet แยก — Sheet "Master" เก็บรายชื่อสาขา สินค้า ทีม ใช้ List from range ดึงมา ถ้าเพิ่มสาขาใหม่แก้แค่ที่เดียว Dropdown ทุก cell อัปเดตทันที
- ข้อความเตือนที่บอกกฎ — ใส่ helper text: "กรอกตัวเลข 0-100 เท่านั้น" ในช่อง Message — คนกรอกจะรู้ว่าต้องกรอกอะไรโดยไม่ต้องถาม
- Show warning vs Reject — ถ้าต้องการ strict ใช้ "Reject input" ถ้าต้องการ flexible ใช้ "Show warning" (บันทึกได้แต่เซลล์จะเป็นสีส้ม)
- Copy Validation ไปทั้งคอลัมน์ — Copy เซลล์ที่ตั้ง validation แล้ว Paste Special → Paste data validation only ไปทั้งคอลัมน์ C2:C1000
ปัญหาที่พบบ่อย
Validation ไม่ทำงานเมื่อ Paste ข้อมูล
Paste ปกติ (Ctrl+V) จะ override validation — บังคับให้ใช้ Paste Special → Values only หรือเปิด "Reject input" mode ซึ่งยังผ่าน paste ได้ แก้โดยใช้ Apps Script onEdit ตรวจ validate หลัง paste
Custom formula ไม่ reject ค่าที่ผิด
Custom formula ต้อง return TRUE = allow, FALSE = reject ตรวจ logic: =ISNUMBER(C2) return TRUE ถ้าเป็นตัวเลข ถ้าอยากให้รับแค่ตัวเลขก็ถูก ถ้าสูตรเขียนกลับ logic ก็จะ allow ค่าผิดแทน
Dropdown ยาวเกิน เลื่อนหาไม่เจอ
ถ้ามีตัวเลือกมากกว่า 20-30 ตัว ผู้ใช้อาจหาไม่เจอ ลองใช้ List from range + helper column ให้พิมพ์ค้นหาได้ หรือแบ่ง category แยก dependent dropdown
คำถามที่ถามบ่อย
Dropdown กับ Data Validation ต่างกันไหม?
Dropdown เป็นหนึ่งใน Criteria ของ Data Validation ครับ เลือก "List of items" หรือ "List from a range" ใน Data validation = ได้ Dropdown
Copy validation จากเซลล์หนึ่งไปอีกเซลล์ได้ไหม?
ได้ Copy เซลล์ต้นทาง → Paste Special → Paste data validation only ใช้ได้ทั้ง Google Sheets และ Excel
ตรวจหา cell ที่มีค่าผิด validation ได้ยังไง?
Data → Data validation → ในกล่อง validation rules จะมีปุ่ม "Highlight invalid data" — เซลล์ที่มีค่าผิดจะถูกไฮไลท์สีแดงทันที
ลบ validation ออกทั้งหมดยังไง?
Select range → Data → Data validation → ในแต่ละ rule กด delete (ถังขยะ) — ลบทีละ rule หรือลบทีละ range ตาม scope ที่ตั้งไว้
