วิธีการใช้ List in List

ตัวอย่างการใช้ Data Validation แบบ List
เมื่อคลิกเลือกจังหวัด จะได้ชื่อเขตหรืออำเภอมาให้เลือก
เมื่อคลิกเลือกชื่อเขต จะได้ชื่อแขวงหรือตำบลมาให้เลือก

Download ตัวอย่างได้จาก
https://www.excelexperttraining.com/download/DistrictList.xlsb

เคล็ดของวิธีการที่ใช้มาจากการสร้างตารางฐานข้อมูลให้ใช้สูตรค้นหาต่อได้ง่าย

ในช่องชื่อจังหวัด ทำได้ไม่ยาก เพียงลิงก์ชื่อ Range Name ที่เก็บชื่อจังหวัดทั้งหมดมาใช้

พอคลิกเลือกชื่อจังหวัด จะได้พื้นที่เก็บชื่อเขตมาแสดงโดยใช้สูตร
District =OFFSET(Ref,Data01!$A$3,1,1,Data01!$A$4)
โดย
Data01!$A$3 ใช้สูตร Match หาตำแหน่งรายการของจังหวัดที่เลือก
Data01!$A$4 ใช้สูตร CountA เพื่อนับจำนวนเขต

พอคลิกเลือกชื่อเขต จะได้พื้นที่เก็บชื่อแขวงมาแสดงโดยใช้สูตร
SubDistrict =OFFSET(Ref2nd,Data01!$BC$3,1,1,Data01!$BC$4)
โดย
Data01!$BC$3 ใช้สูตร Match หาตำแหน่งรายการของเขตที่เลือก
Data01!$BC$4 ใช้สูตร CountA เพื่อนับจำนวนแขวง

ที่พิเศษหน่อย พอคลิกเปลี่ยนจังหวัด จะใช้ Conditional Format ซ่อนชื่อเขตและแขวงที่ไม่ได้อยู่ในจังหวัดนั้น

ตัวอย่างนี้ได้ข้อมูลที่รวบรวมไว้ของคุณ Manothai Wongsala จึงขอขอบคุณมา ณ ที่นี้ด้วยครับ

วิธีใช้สูตร Offset อยู่ในบทเรียนหลักสูตรจับประเด็นสูตรติดไม้ติดมือ และหลักสูตรเคล็ดการเพิ่มผลงาน ลดความซับซ้อนของงานด้วย Excel VBA-Macro ซึ่งเปิดรับสมัครเรียนออนไลน์ ฟรี เชิญสมัครได้จาก

https://www.excelexperttraining.com/online/free-excel-expert-training-videos/

เชิญชมวิธีการอื่นๆได้จาก
https://www.excelexperttraining.com/online/list-in-list/