① 🔥 บทนำ
เคยไหม:
- เลือก “จังหวัด” แล้วอยากให้ “อำเภอ” เปลี่ยนตาม
- เลือก “หมวดสินค้า” แล้ว “รายการสินค้า” แสดงเฉพาะที่เกี่ยวข้อง
👉 ถ้าใช้ Drop-down ธรรมดา = ทำไม่ได้
ต้องใช้ ดรอปดาวน์หลายชั้น (Dependent Drop-down)
② 🎯 เหมาะสำหรับงานแบบไหน
- ฟอร์มกรอกข้อมูลขั้นสูง
- ระบบสต็อกสินค้า
- ระบบลูกค้า / CRM
③ 📊 ดรอปดาวน์หลายชั้นคืออะไร
คือ Drop-down ที่ “ค่าชั้นที่ 2 เปลี่ยนตามชั้นที่ 1”
📌 เช่น:
- เลือก “ผลไม้” → แสดง “แอปเปิล / กล้วย”
- เลือก “เครื่องดื่ม” → แสดง “น้ำ / กาแฟ”
④ 🧾 โครงสร้างที่ต้องมี
ตัวอย่าง:
| หมวด | รายการ |
|---|
| ผลไม้ | แอปเปิล |
| ผลไม้ | กล้วย |
| เครื่องดื่ม | น้ำ |
| เครื่องดื่ม | กาแฟ |
⑤ 🧂 วิธีสร้าง (ใช้ Named Range + INDIRECT)
Step 1: แยกข้อมูลเป็นกลุ่ม
- สร้างช่วงชื่อ:
- ผลไม้ → แอปเปิล, กล้วย
- เครื่องดื่ม → น้ำ, กาแฟ
Step 2: ตั้งชื่อช่วง (Named Range)
- เลือกข้อมูล
- ตั้งชื่อให้ตรงกับหมวด เช่น:
Step 3: สร้าง Drop-down ชั้นที่ 1
- Data Validation → List
- เลือกหมวด
Step 4: สร้าง Drop-down ชั้นที่ 2
ใส่สูตร:
=INDIRECT(A1)
👉 A1 = ช่องที่เลือกหมวด
⑥ 🔍 วิธีทำแบบใหม่ (ใช้ FILTER – แนะนำ)
=UNIQUE(FILTER(B:B, A:A=E1))
👉 E1 = หมวดที่เลือก
👉 ดึงรายการอัตโนมัติ
⑦ ⚠️ ข้อผิดพลาดที่พบบ่อย
- ❌ ตั้งชื่อ Range ไม่ตรง
- ❌ มีช่องว่างในชื่อ
- ❌ ใช้ INDIRECT ผิดเซลล์
⑧ 🔥 เทคนิคขั้นสูง
- ใช้ 3 ชั้น (หมวด → ประเภท → รายการ)
- ใช้ Table + FILTER → ยืดหยุ่นกว่า
⑨ 🍽️ การใช้งานจริง
- ระบบเลือกสินค้า
- ระบบเลือกพื้นที่ (จังหวัด → อำเภอ)
- ฟอร์มสมัครงาน
⑩ 🛠️ Pro Tips
- ใช้ FILTER แทน INDIRECT ถ้าเป็น Excel 365
- ใช้ Table → จัดการง่าย
⑪ 🧠 เคล็ดลับ
👉 ตั้งชื่อ Range ให้ “ไม่มีช่องว่าง”
เช่น: fruit ไม่ใช่ “ผลไม้ สด”
⑫ 📚 เกร็ดความรู้
INDIRECT เป็นฟังก์ชันสำคัญในงาน Dynamic Excel
⑬ ❓ คำถามที่พบบ่อย
Q: ทำไม Drop-down ไม่เปลี่ยน?
A: Named Range ไม่ตรง
Q: ใช้หลายชั้นได้ไหม?
A: ได้ ทำซ้ำตามโครงสร้าง
⑭ 🧪 สรุป
- Dependent Drop-down = เลือกแบบสัมพันธ์
- INDIRECT = วิธีคลาสสิก
- FILTER = วิธีใหม่ (ดีกว่า)
⑮ 💬 คำถามชวนคิด
คุณเคยใช้ Drop-down ธรรมดาแล้ว “ไม่พอ” ไหม?