Tips: ทำไมต้องใช้ Cascading Dropdowns (Dependent Dropdown list) … มันเจ๋งกว่าที่คิดนะเว้ย!
ไอ้ตอนแรกคิดว่า “โอเคนะ ก็มีข้อมูลครบดี” แต่พอใช้จริงนี่แบบ… หืม กว่าจะเลื่อนหาชื่อที่ต้องการได้ ก็ตาแทบจะเป็นตะคริว 🤯 คือระบบมันไม่รู้จัก กรองตัวเลือก ให้เราเลยว่ะ! ไม่ว่าจะเลือกจังหวัดไหนก็ตาม ช่องอำเภอก็โชว์หมดทุกอำเภอในประเทศไทย… โอ้โห นี่แหละข้อเสียโคตรใหญ่ของ Dropdown ธรรมดา ๆ
แล้วทำไงดี? 🤔
นี่แหละที่ Cascading Dropdowns หรือ Dependent Dropdown list โผล่มาเท่ ๆ แบบพระเอกในละครหลังข่าว มาช่วยชีวิตเรา!
Cascading Dropdowns ก็คือระบบ Dropdown ที่ “ฉลาด” กว่าเดิม ตรงที่มันจะเปลี่ยนตัวเลือกให้สัมพันธ์กัน
เช่น
- ถ้าเลือก กรุงเทพฯ → ช่องถัดไปก็จะมีให้เลือกเฉพาะอำเภอของกรุงเทพฯ เท่านั้น
- ถ้าเลือก เชียงใหม่ → อำเภอใน Dropdown ก็จะเปลี่ยนเป็นเฉพาะของเชียงใหม่
สั้น ๆ เลยคือ มันไม่ทำให้เรามึนหัวกับการเลื่อนหา “ของที่ไม่เกี่ยวข้อง” อีกต่อไป 🥳
มาดูวิธีทำกัน
ผมจะยกตัวอย่างการทำบันทึกรายรับรายจ่าย
1. ออกแบบฟอร์มที่เราจะใช้บันทึกให้เป็นที่เรียบร้อย
2. แต่ละแถวที่เป็น Dropdown ให้เตรียมวางไว้เลยว่าจะมีหัวข้ออะไรแยกย่อยลงไปได้บ้าง พยายามให้เป็นภาษาอังกฤษเอาไว้ก็จะดีครับ เพราะมันมีผลกับการตั้งชื่อ (Named Ranges) ในขั้นตอนถัดไป
ลากครอบคลุมหัวข้อทั้งหมดในแถวนั้นๆ --> Data --> Named Ranges
4. ไปที่หน้าหลักที่เราจะใช้กรอกข้อมูล แล้วเอาฟังก์ชั่นนี้ไปใส่ได้เลยครับ
"=if(C2="","",transpose(filter(Indirect(C2),indirect(C2)<>"")))"
เมื่อเราใส่ Code ลงไป แล้วเรามาเลือกที่ช่อง C2 เป็น "Expenses" แถว J2 ที่เราใส่ Code มันจะขึ้นหัวข้อที่เราใส่อยู่ข้างใต้หัวข้อ "Expenses"
ทีนี้ในช่องดีเราก็ใช้ Dropdown โดยเลือกเป็น Dropdown (from ranges) แล้วก็เลือกข้อมูลที่แถว J2 ถึง จนสุดหัวข้อย่อยหรือเลยไปหน่อยก็ได้ ในที่นี้คือ T2 หรือเราจะลากไปถึง U2 หรือ V2 ก็ได้นะ
"=iferror(if(D2="","",transpose(filter(Indirect(D2),indirect(D2)<>""))),"")"
มาดูผลลัพธ์ที่ออกมากัน
หวังว่าผมจะอธิบายรู้เรื่องนะครับ ลองเอาไปปรับใช้กันดูได้เลยครับ









Comments
Post a Comment