ก่อนหน้านี้ผมได้เคยอธิบายการทำ Dropdown List 2 ชั้น แบบง่ายๆ ไปแล้ว แต่พบว่ามีหลายคนถามเข้ามามากเลยว่า จะทำ Dropdown 3 ชั้นได้ยังไง? ผมจึงขอมาอธิบายหลักการทำ Dropdown 3 ชั้นไว้ในบทความนี้เลยละกันครับ (สามารถนำไปประยุกต์ทำ Dropdown 10 ชั้นเลยก็ได้ ถ้าทำไหวนะครับ)

ขั้นตอนการทำ

dropdown3step

 

  1. สร้าง List ของทางเลือกทั้งหมดที่เป็นไปได้ และตั้งชื่อ
    1. ค่อยๆ สร้าง List โดยคิดว่าแต่ละ Level แต่ละ Choice จะแตกกิ่งก้านสาขาทางเลือกใน Step ถัดไปออกมาแบบไหนได้บ้าง
    2. ตั้งชื่อ List แต่ละอัน โดยกด Select คลุม List ทั้งหมด รวม Heading ด้วย แล้วกด Ctrl+Shift+F3 จากนั้นให้เลือก Top Row อย่างเดียว เพื่อให้ตั้งชื่อ List โดยใช้ Top Row
  2. สร้างตารางผูกความสัมพันธ์ว่า เมื่อเลือก Item แต่ละอันแล้ว ใน Step ต่อไปจะสามารถเลือก List ชุดไหนได้ แล้วตั้งชื่อตารางนี้ว่า Logic_Table เพื่อให้ง่ายต่อการอ้างอิง (เดี๋ยวเราจะใช้ VLOOKUP มาช่วย)
  3. สร้าง Drop Down แต่ละขั้น โดย ตั้งชื่อว่า step1, step2, step3 ตามลำดับ และใส่สูตรดังนี้
    1. Dropdown ชั้นแรก ใส่สูตรว่า =Level1 (Level1 คือ ชื่อของ List ขั้นแรกสุด)
    2. Dropdown ชั้นสอง ขึ้นไป ใส่สูตรโดย VLOOKUP ค่าจาก Dropdown ขั้นก่อนหน้า ว่าต่อไปจะให้เลือก Choice ชุดไหน จากนั้นครอบด้วย INDIRECT อีกที ทั้งนี้เพื่อแปลง Text  จากการ Lookupให้เป็น Cell Reference จะได้ว่า
      1. Dropdown ชั้นที่ 2 จะ Lookup ค่าจากขั้น1 ได้สูตรว่า =INDIRECT(VLOOKUP(step1,Logic_Table,2,0))
      2. Dropdown ชั้นที่ 3 จะ Lookup ค่าจากขั้น2 ได้สูตรว่า =INDIRECT(VLOOKUP(step2,Logic_Table,2,0))
      3. ถ้ามีขั้นที่ 4 อีกก็ทำล้อกันไปเรื่อยๆ….

สรุปชื่อที่ตั้งแล้วทั้งหมด ดูได้ใน Ribbon Formulas => Name Manager

dropdown3step-name

พอดีผมไม่สะดวกทำเป็น VDO ให้ หวังว่าเพื่อนๆ จะสามารถทำตามได้นะครับ ถ้าสงสัยอะไรก็ ดูไฟล์ตัวอย่างได้ หรือ จะ Post ถามใน Facebook Page ก็ได้ครับ

ไฟล์ตัวอย่าง

dropdown-3step.xlsx