อยากคลิกเลือกชื่อเขตในช่องหนึ่งแล้วทำให้อีกช่องหนึ่งสามารถคลิกเลือกชื่อแขวงของเขตนั้น
อยากคลิกเลือกชื่อทวีปแล้วอีกช่องหนึ่งแสดงชื่อประเทศในทวีปนั้นมาให้คลิกเลือก
อยากคลิกเลือกกลุ่มสินค้าแล้วอีกช่องหนึ่งมีรายชื่อสินค้าของกลุ่มนั้นมามาให้คลิกเลือก
ปัญหานี้ถามกันบ่อยมาก ซึ่งทำได้หลายวิธี ก่อนโน้นผมใช้สูตร Offset บ้าง Index บ้าง แต่ซับซ้อนพอสมควร ขนาดตัวผมเองยังแกะสูตรในวิธีการของตัวเองไม่ออกเลย คราวนี้ขอแนะนำวิธีใหม่ใช้ Range Name มาช่วย โดยมีขั้นตอนการสร้าง ดังนี้
- ตั้งชื่อ Range Name ชื่อ District ให้กับชื่อเขตทั้งหมด
- ตั้งชื่อ Range Name ชื่อ DistrictNum ให้กับชื่อแขวงของแต่ละเขต โดย Num เป็นเลขที่เขตตามลำดับ
- ตั้งชื่อ Range Name ชื่อ Data ให้กับตารางชื่อเขตและชื่อเขตที่มีเลขที่เขตกำกับ
- หาชื่อเขต โดยสร้าง Data Validation แบบ List =District
- เมื่อคลิกเลือกชื่อเขตแล้ว ให้ใช้สูตร Vlookup ค้นหาชื่อ DistrictNum
- หาชื่อแขวง โดยสร้าง Data Validation แบบ List =Indirect(DistrictNum)
Download แฟ้มตัวอย่างได้จาก
https://drive.google.com/open?id=11Ya0kkaNuoOIcjo4K03Qn8t2b-ygr4f9
วิดีโอแสดงขั้นตอนการสร้าง
https://youtu.be/WV-pjZX_rvE
https://www.facebook.com/ExcelExpertTraining/posts/2465351560401314
วิธีนี้ง่ายดี ใช้สูตร VLookup ที่เราคุ้นเคย แต่มีข้อแม้ว่าต้องใช้กับชื่อที่เป็นตัวอักษรภาษาอังกฤษ
วิธีอื่นมีอีกหลายแบบ ผมทำวิดีโอพร้อมตัวอย่างไว้ที่ https://www.excelexperttraining.com/forum/articles/managing-excel-articles/576-list-in-list