หัวข้อหลัก
Drop-down List 2 ชั้น (Dynamic Dependent Drop-down) คือการทำให้ตัวเลือกใน Drop-down ชั้นที่ 2 เปลี่ยนไปตามค่าที่เลือกใน Drop-down ชั้นที่ 1 โดยอัตโนมัติ ช่วยให้การคีย์ข้อมูลถูกต้อง แม่นยำ และรวดเร็วขึ้น
ตัวอย่างการใช้งาน
เลือกยี่ห้อรถยนต์ แล้วแสดงเฉพาะรุ่นรถของยี่ห้อนั้น
เลือกจังหวัด แล้วแสดงเฉพาะอำเภอในจังหวัดนั้น
เลือกหมวดหมู่สินค้า แล้วแสดงเฉพาะรายการสินค้าในหมวดนั้น

ฟังก์ชันและเครื่องมือที่ใช้
เครื่องมือ | หน้าที่ |
Data Validation | สร้างรายการตัวเลือก (Drop-down List) ในเซลล์ |
Name Box / Defined Name | ตั้งชื่อช่วงข้อมูล (Named Range) ให้กลุ่มรายการย่อยของแต่ละหมวด |
INDIRECT | แปลงข้อความในเซลล์ Drop-down ชั้นที่ 1 ให้เป็นการอ้างอิงไปยัง Named Range ชื่อเดียวกัน เพื่อดึงรายการย่อยมาแสดงในชั้นที่ 2 |
ขั้นตอนการสร้าง

ขั้นตอนที่ 1 · สร้าง Drop-down ชั้นที่ 1 (รายการหลัก)
เตรียมรายการหมวดหลัก เช่น Honda, Toyota, BYD, Tesla
คลิกเลือกเซลล์ที่ต้องการสร้าง Drop-down ชั้นที่ 1
ไปที่แถบเมนู Data > Data Validation
ในช่อง Allow เลือก List
ในช่อง Source คลุมช่วงข้อมูลหมวดหลักทั้งหมด แล้วกด OK

ขั้นตอนที่ 2 · ตั้งชื่อช่วงข้อมูล (Named Range)
คลุมรายการย่อยของแต่ละหมวด เช่น รายชื่อรุ่นรถของ Honda
คลิกที่ Name Box มุมซ้ายบนของตาราง
พิมพ์ชื่อให้ ตรงกับชื่อหมวดหลักทุกตัวอักษร เช่น Honda แล้วกด Enter
ทำซ้ำกับหมวดที่เหลือทั้งหมด (Toyota, BYD, Tesla)

ขันตอนที่ 3 · สร้าง Drop-down ชั้นที่ 2 ด้วย INDIRECT
คลิกเลือกเซลล์ที่ต้องการสร้าง Drop-down รายการย่อย
ไปที่ Data > Data Validation
ในช่อง Allow เลือก List
ในช่อง Source พิมพ์ =INDIRECT(A2) โดย A2 คือเซลล์ Drop-down ชั้นที่ 1
กด OK เพื่อบันทึก
ข้อควรระวัง
ตรวจให้ครบก่อนใช้งานจริง
ชื่อ Named Range เว้นวรรคไม่ได้ ถ้าจำเป็นให้ใช้ขีดล่าง _ แทน
สะกดชื่อให้ตรงกันทุกตัวอักษร ชื่อ Named Range ต้องตรงกับค่าใน Drop-down ชั้นที่ 1 ถ้าไม่ตรง ชั้นที่ 2 จะไม่แสดงรายการ
ตัวพิมพ์เล็ก-ใหญ่ไม่มีผล ใช้งานได้ตามปกติ
เทคนิคเสริม
แสดงโลโก้หรือรูปภาพอัตโนมัติ ใช้ XLOOKUP หรือ VLOOKUP ร่วมกับฟังก์ชัน IMAGE เพื่อดึงโลโก้แบรนด์หรือรูปสินค้ามาแสดง ตามรายการที่เลือกใน Drop-down
Tip เพิ่มเติม: หมวดหลักที่มีเว้นวรรค
ถ้าชื่อหมวดหลักมีหลายคำ เช่น “Mercedes Benz” ให้ตั้งชื่อ Named Range เป็น Mercedes_Benz แล้วใช้สูตรใน Source ของชั้นที่ 2 เป็น =INDIRECT(SUBSTITUTE(A2," ","_")) เพื่อแปลงเว้นวรรคเป็นขีดล่างก่อนอ้างอิง
(หมายเหตุ: เคล็ดลับนี้เพิ่มเติมนอกเหนือจากแหล่งข้อมูลใน Notebook)











