รายการมีให้เลือกเยอะขนาดนี้ คงต้องทำตารางรายการไม่ซ้ำของแต่ละตัวเลือกก่อน ลองแบบนี้ครับ (ดูไฟล์ประกอบ)
ผมสร้างรายการไม่ซ้ำในชีท
Uniq (หากใช้รูปแบบเป็นตารางเลยจะดีกว่า แต่ผมไม่ได้ใช้รูปแบบนั้นเพราะอยากให้ดูสูตรเผื่อเอาไว้ใช้ครับ) ผมใช้ Remove duplicate และสูตรเพื่อหารายการไม่ซ้ำของแต่ละตัวเลือก
(สามารถอ่านรายละเอียดเพิ่มเติมจากลิ้งค์นี้ครับ
dynamic-cascading dropdowns)
พอสร้างตารางรายการไม่ซ้ำเสร็จแล้วก็สร้าง Name Range เพื่อเอาไว้ใช้เป็น Drop down โดย
(เข้าเมนู Name Manager กด
Ctrl+F3 ครับ)
1. Name Range ชื่อ
_Main เอาไว้เป็นตัวเลือกหลัก
=Uniq!$F$2:$F$54
2. (นอกจากนี้ผมยังสร้าง Name Range ชื่อ
_Start และ
_SubHead ด้วยเพื่อความสะดวกในการเขียนสูตร ลองดูในไฟล์ครับ)
3. สร้าง Name Range ชื่อ
_SubListVal ไว้เป็น drop down ของคอลัมน์ I
=IF(OR(data!$H18="",data!$J18<>""),"",OFFSET(_Start,1,MATCH(data!E18,_SubHead,0)-1,5-SUM(--ISERR(OFFSET(_Start,1,MATCH(data!E18,_SubHead,0)-1,5)))))
4. สร้าง Name Range ชื่อ
_SubListVal2 เอาไว้เป็น drop down ของคอลัมน์ J
=OFFSET(_Start,1,MATCH(data!H12,_SubHead,0)-1,5-SUM(--ISERR(OFFSET(_Start,1,MATCH(data!H12,_SubHead,0)-1,5))))
5. มาที่ชีท data
5.1 ที่ H12 สร้าง Validation แบบ List คีย์สูตรตรง Source คือ
=IF($I12<>"","",_MainList)
5.2 ที่ I12 สร้าง Validation เช่นเดียวกัน คีย์ตรง Source ว่า
=_SubListVal
5.3 ที่ J12 สร้าง Validation คีย์ตรง Source ว่า
=_SubListVal2
6. คัดลอก H12:J12 แล้วเอา Validation ไปวางในแถวถัดลงไปครับ
วิธีใช้คือ การเลือก Drop down จะบังคับให้เลือกจากคอลัมน์
H -> I -> J drop down ถึงจะแสดงให้เห็น หากจะแก้ ก็ต้องลบข้อมูลจากคอลัมน์
J -> I -> H ครับ เพื่อป้องกันการแก้ไขโดยเลือกสิ่งที่ไม่สอดคล้องกับข้อมูลจริง
You do not have the required permissions to view the files attached to this post.