ที่จริง ผมเคยเขียนเรื่อง "การสร้างรายการเลือก (List) เพื่อช่วยเติมข้อมูล" ไปแล้ว ซึ่งในเรื่องดังกล่าว ผมได้พูดถึงการนำชื่อช่วงข้อมูลมาใช้ใน List แต่เอ่ยถึงอย่างคร่าวๆ ไม่ได้ลงรายละเอียด วันนี้จะขออธิบายเพิ่มเติม โดยเฉพาะในเรื่องของการ ตั้งชื่อแบบ Dynamic และนำชื่อนั้นมาทำเป็น List
ขอให้กลับไปอ่านเพิ่มเติมในเรื่อง "การสร้างรายการเลือก (List) เพื่อช่วยเติมข้อมูล" เพื่อจะได้เข้าใจมากยิ่งขึ้น
รูปที่ 1 การเติมข้อมูลโดยใช้รายการเลือก (List)
จากตัวอย่างในรูปที่ 1 ถ้าเราจะทำรายการเลือก เพื่อเติมรหัสพนักงานลงในเซลล์ L5 เราจะต้องมีตารางรหัสพนักงานก่อน โดยอาจจะสร้างตารางฐานข้อมูลพนักงาน ซึ่งอาจมีลักษณะคล้ายๆ กับในรูปที่ 2
รูปที่ 2 ตัวอย่างตารางฐานข้อมูลพนักงาน
ตั้งชื่อช่วงรหัสพนักงานให้เป็นแบบ Dynamic
โอกาสที่จะมีพนักงานเพิ่มเข้ามาใหม่ มีได้อยู่ตลอดเวลา ดังนั้น การตั้งชื่อช่วงรหัสพนักงานให้เป็นแบบ Dynamic จะช่วยให้เกิดความสะดวกในอนาคต เพราะเราไม่ต้องมาแก้ไขช่วงข้อมูลใหม่ทุกครั้ง ที่มีการเพิ่มขึ้น หรือลดลงของข้อมูล
สำหรับผู้ใช้ Excel 2003 หรือเวอร์ชันก่อนหน้านั้น ให้เข้าไปที่เมนู Insert (แทรก) > Name (ชื่อ) > Define... (กำหนด...) จะปรากฏหน้าดังรูปที่ 3
รูปที่ 3 การตั้งชื่อช่วงรหัสพนักงานว่า ListID แบบ Dynamic สำหรับ Excel 2003
- พิมพ์ชื่อที่ต้องการ เช่น ListID ลงในช่องด้านบน (ถ้ามีข้อความใดๆ อยู่ ก็ลบออกก่อน)
- ในช่อง Refers to: ด้านล่าง (ถ้ามีข้อความใดๆ ก็ลบออกก่อนเช่นกัน) พิมพ์สูตร =OFFSET($A$5,1,0,COUNTA($A:$A)-1,1)
- คลิกปุ่ม OK
สำหรับผู้ใช้ Excel 2007 หรือเวอร์ชันใหม่กว่า ให้เข้าไปที่แถบ Formulas (สูตร) > Define Name (กำหนดชื่อ) จะปรากฏหน้าดังรูปที่ 4
รูปที่ 4 การตั้งชื่อช่วงรหัสพนักงานว่า ListID แบบ Dynamic สำหรับ Excel 2007
- พิมพ์ชื่อ ListID ลงในช่อง Name
- ในช่อง Refers to ด้านล่าง (ถ้ามีข้อความใดๆ ก็ลบออกก่อน) พิมพ์สูตร =OFFSET($A$5,1,0,COUNTA($A:$A)-1,1)
- คลิกปุ่ม OK
การนำชื่อมาใช้ในรายการเลือก (List)
- จากรูปที่ 1 คลิกที่เซลล์ L5 (หรือเซลล์ที่ต้องการสร้างรายการเลือก)
- เข้าเมนู...
- สำหรับ Excel 2003 คลิกที่เมนู Data > Validation...
- สำหรับ Excel 2007 คลิกที่ริบบอน Data แล้วเลือก Data Validation
- ที่แท็ป Setting, ในช่อง Allow ให้เลือกเป็น List
- ในช่อง Source พิมพ์ =ListID ดังรูป
- เสร็จแล้วให้คลิกปุ่ม OK
เมื่อคลิกเมาท์ที่ L5 หรือเลื่อนพอยเตอร์ไปที่เซลล์ L5 ทางด้านขวาของเซลล์ จะมีปุ่มให้เราคลิก เื่พื่อเลือกรายการต่างๆ ได้ ดังตัวอย่างในรูปที่ 1 ให้ลองคลิก แล้วดูจำนวนรายการที่อยู่ใน List นั้น ว่าครอบคลุมไปถึงรหัสใดบ้าง
หลังจากนั้น ทดลองเพิ่มรหัสพนักงานในคอลัมน์ A อีกสัก 1-2 คน แล้วไปคลิกที่เซลล์ L5 อีกครั้ง สังเกตว่าจำนวนรายการที่ปรากฏใน List นั้น แตกต่างจากครั้งแรกอย่างไร ซึ่งผลลัพธ์ที่จะได้ก็คือ รายการเลือกที่อยู่ใน List นั้น จะครอบคลุมไปยังรหัสพนักงานใหม่ที่เพิ่มเข้ามาโดยอัตโนมัติ
การทำรายการเลือก (List) โดยการอ้างอิงไปยังชื่อที่ตั้งไว้ ทั้งแบบ Static หรือแบบ Dynamic ก็ตาม มีข้อดีกว่าการอ้างอิงไปยังช่วงเซลล์โดยตรง นั่นคือ สามารถที่จะนำ List ซึ่งอยู่ในตาราง ที่อยู่คนละชีทงาน มาใช้ได้ ซึ่งการอ้างอิงไปยังช่วงเซลล์โดยตรงนั้น ไม่สามารถทำได้ ถ้าข้อมูลอยู่คนละชีทกัน หวังว่า จะเป็นประโยชน์กับทุกท่านนะครับ
0 ความคิดเห็น:
แสดงความคิดเห็น