ซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง

วันอาทิตย์ที่ 2 มีนาคม พ.ศ. 2557

การสร้างรายการเลือก (List) แบบ Dynamic

ที่จริง ผมเคยเขียนเรื่อง "การสร้างรายการเลือก (List) เพื่อช่วยเติมข้อมูล" ไปแล้ว ซึ่งในเรื่องดังกล่าว ผมได้พูดถึงการนำชื่อช่วงข้อมูลมาใช้ใน List แต่เอ่ยถึงอย่างคร่าวๆ ไม่ได้ลงรายละเอียด วันนี้จะขออธิบายเพิ่มเติม โดยเฉพาะในเรื่องของการ ตั้งชื่อแบบ Dynamic และนำชื่อนั้นมาทำเป็น List

ขอให้กลับไปอ่านเพิ่มเติมในเรื่อง "การสร้างรายการเลือก (List) เพื่อช่วยเติมข้อมูล" เพื่อจะได้เข้าใจมากยิ่งขึ้น



รูปที่ 1 การเติมข้อมูลโดยใช้รายการเลือก (List)

จากตัวอย่างในรูปที่ 1 ถ้าเราจะทำรายการเลือก เพื่อเติมรหัสพนักงานลงในเซลล์ L5 เราจะต้องมีตารางรหัสพนักงานก่อน โดยอาจจะสร้างตารางฐานข้อมูลพนักงาน ซึ่งอาจมีลักษณะคล้ายๆ กับในรูปที่ 2



รูปที่ 2 ตัวอย่างตารางฐานข้อมูลพนักงาน



ตั้งชื่อช่วงรหัสพนักงานให้เป็นแบบ Dynamic

โอกาสที่จะมีพนักงานเพิ่มเข้ามาใหม่ มีได้อยู่ตลอดเวลา ดังนั้น การตั้งชื่อช่วงรหัสพนักงานให้เป็นแบบ Dynamic จะช่วยให้เกิดความสะดวกในอนาคต เพราะเราไม่ต้องมาแก้ไขช่วงข้อมูลใหม่ทุกครั้ง ที่มีการเพิ่มขึ้น หรือลดลงของข้อมูล

สำหรับผู้ใช้ Excel 2003 หรือเวอร์ชันก่อนหน้านั้น ให้เข้าไปที่เมนู Insert (แทรก) > Name (ชื่อ) > Define... (กำหนด...) จะปรากฏหน้าดังรูปที่ 3


รูปที่ 3 การตั้งชื่อช่วงรหัสพนักงานว่า ListID แบบ Dynamic สำหรับ Excel 2003

  1. พิมพ์ชื่อที่ต้องการ เช่น ListID ลงในช่องด้านบน (ถ้ามีข้อความใดๆ อยู่ ก็ลบออกก่อน)
  2. ในช่อง Refers to: ด้านล่าง (ถ้ามีข้อความใดๆ ก็ลบออกก่อนเช่นกัน) พิมพ์สูตร =OFFSET($A$5,1,0,COUNTA($A:$A)-1,1)
  3. คลิกปุ่ม OK

สำหรับผู้ใช้ Excel 2007 หรือเวอร์ชันใหม่กว่า ให้เข้าไปที่แถบ Formulas (สูตร) > Define Name (กำหนดชื่อ) จะปรากฏหน้าดังรูปที่ 4


รูปที่ 4 การตั้งชื่อช่วงรหัสพนักงานว่า ListID แบบ Dynamic สำหรับ Excel 2007
  1. พิมพ์ชื่อ ListID ลงในช่อง Name
  2. ในช่อง Refers to ด้านล่าง (ถ้ามีข้อความใดๆ ก็ลบออกก่อน) พิมพ์สูตร =OFFSET($A$5,1,0,COUNTA($A:$A)-1,1)
  3. คลิกปุ่ม OK


การนำชื่อมาใช้ในรายการเลือก (List)

  1. จากรูปที่ 1 คลิกที่เซลล์ L5 (หรือเซลล์ที่ต้องการสร้างรายการเลือก)
  2. เข้าเมนู...
    • สำหรับ Excel 2003 คลิกที่เมนู Data > Validation...


    • สำหรับ Excel 2007 คลิกที่ริบบอน Data แล้วเลือก Data Validation


  3. ที่แท็ป Setting, ในช่อง Allow ให้เลือกเป็น List
  4. ในช่อง Source พิมพ์ =ListID ดังรูป


  5. เสร็จแล้วให้คลิกปุ่ม OK

เมื่อคลิกเมาท์ที่ L5 หรือเลื่อนพอยเตอร์ไปที่เซลล์ L5 ทางด้านขวาของเซลล์ จะมีปุ่มให้เราคลิก เื่พื่อเลือกรายการต่างๆ ได้ ดังตัวอย่างในรูปที่ 1 ให้ลองคลิก แล้วดูจำนวนรายการที่อยู่ใน List นั้น ว่าครอบคลุมไปถึงรหัสใดบ้าง

หลังจากนั้น ทดลองเพิ่มรหัสพนักงานในคอลัมน์ A อีกสัก 1-2 คน แล้วไปคลิกที่เซลล์ L5 อีกครั้ง สังเกตว่าจำนวนรายการที่ปรากฏใน List นั้น แตกต่างจากครั้งแรกอย่างไร ซึ่งผลลัพธ์ที่จะได้ก็คือ รายการเลือกที่อยู่ใน List นั้น จะครอบคลุมไปยังรหัสพนักงานใหม่ที่เพิ่มเข้ามาโดยอัตโนมัติ

การทำรายการเลือก (List) โดยการอ้างอิงไปยังชื่อที่ตั้งไว้ ทั้งแบบ Static หรือแบบ Dynamic ก็ตาม มีข้อดีกว่าการอ้างอิงไปยังช่วงเซลล์โดยตรง นั่นคือ สามารถที่จะนำ List ซึ่งอยู่ในตาราง ที่อยู่คนละชีทงาน มาใช้ได้ ซึ่งการอ้างอิงไปยังช่วงเซลล์โดยตรงนั้น ไม่สามารถทำได้ ถ้าข้อมูลอยู่คนละชีทกัน หวังว่า จะเป็นประโยชน์กับทุกท่านนะครับ

0 ความคิดเห็น:

แสดงความคิดเห็น