การกำหนดขอบเขตตารางแบบยืดหยุ่น

June 28, 2018

งานที่สร้างขึ้นด้วย Excel ไม่ได้ใช้ตำแหน่งอ้างอิง (Reference) เพื่อใช้ในสูตรคำนวณแต่เพียงอย่างเดียว ตำแหน่งอ้างอิงยังถูกเรียกใช้ในคำสั่ง Conditional Formatting, Data Validation, Advanced Filter, Pivot Table, หรือในคำสั่งอื่นๆ แม้แต่ในรหัส Visual Basic for Applications (VBA) ซึ่งโดยทั่วไปเมื่อมีการ Insert หรือ Delete row หรือ column หรือโยกย้ายตำแหน่งตาราง จะส่งผลให้ตำแหน่งอ้างอิงที่ใช้เดิมปรับเปลี่ยนขนาดตามทันที และหากรู้จักใช้ชื่อในการกำหนดตำแหน่งอ้างอิงจะช่วยทำให้กำหนดตำแหน่งอ้างอิงในสูตรได้ง่าย และยังทำให้ตำแหน่งอ้างอิงที่ใช้ในกราฟหรือ VBA ปรับขนาดตามได้อีกด้วย ช่วยทำให้ไม่ต้องเสียเวลาสร้างกราฟใหม่หรือต้องย้อนกลับมาแก้ไขรหัส VBA อีกแม้แต่น้อย

ขอบเขตตารางแบบยืดหยุ่น หมายถึง ขอบเขตตารางที่สามารถยืดได้หดได้ตามจำนวนรายการหรือปริมาณข้อมูลที่มีเพิ่มลด ทำให้ไม่ต้องใช้วิธีค่อยๆ Insert เพิ่ม row เพื่อขยายพื้นที่ตารางให้มีเซลล์ว่างเตรียมไว้สำหรับข้อมูลในอนาคต หรือไม่ต้องกำหนดขอบเขตตารางแบบฟุ่มเฟือยโดยสร้างสูตรอ้างอิงกับทั้ง column เช่น

=VLookup( IDCode, A:D, 3)

ซึ่งการกำหนดตำแหน่งอ้างอิง A:D เช่นนี้จะทำให้สูตรทำงานช้าลงอย่างมากและยังทำให้แฟ้มมีขนาดใหญ่ขึ้นโดยไม่จำเป็นอีกด้วย

ในบทความนี้ขอแนะนำวิธีกำหนดขอบเขตตารางแบบยืดหยุ่น ตั้งแต่วิธี Dynamic Cell ไปจนถึงวิธี Dynamic Range ซึ่งใช้สูตร Offset, Index, Indirect, Address ช่วยในการกำหนดขอบเขตตารางแบบอัตโนมัติ