Font s :
Background :

วิธีบริหารจัดการ Link

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

เมื่อสร้างสูตร Link ข้ามไฟล์เป็นแล้ว ผู้ใช้ Excel จะได้รับประโยชน์อย่างเต็มที่ ต่อเมื่อเข้าใจถึงที่ไปที่มาของข้อมูลในระบบการ Link ภายในโปรแกรม Excel และตัวผู้ใช้ต้องปรับเปลี่ยนพฤติกรรมมการใช้งานใหม่ให้เข้ากับระบบการ Link อีกด้วย

เบื้องหลังระบบการ Link ของ Excel

น่าแปลกใช่ไหม ทำไมเมื่อเปิดไฟล์ปลายทางขึ้นมา เรายังสามารถใช้ข้อมูลซึ่งเก็บไว้ในไฟล์ต้นทางที่ยังไม่ได้เปิดขึ้นมาใช้งานต่อไปได้อีก มาลองสร้างตัวอย่างเพื่อศึกษาพฤติกรรมการทำงานของ Excel กันดีกว่า

  1. เปิดไฟล์ใหม่ขึ้นมาแล้วสั่ง Save ตั้งชื่อว่า Source.xls เพื่อใช้เป็นไฟล์เก็บข้อมูลต้นทาง จะพบว่ามีขนาด 14 KB
  2. จากนั้นเลือกพื้นที่เซลล์ A1:Z1000 สร้างสูตร =Rand() ลงไป เพื่อสร้างเลขสุ่มมาใช้งาน พอสั่ง Save น่าจะมีขนาดประมาณ 834 KB
  3. ลองทำลายสูตรให้กลายเป็นตัวเลข โดยการสั่ง Copy แล้วนำไป Paste Special > Values ทับลงไปในตารางเดิม เมื่อ Save จะมีขนาดประมาณ 495 KB ซึ่งขนาดไฟล์ลดลง แสดงว่าตารางข้อมูลที่เป็นตัวเลข จะมีขนาดไฟล์เล็กกว่าตารางสูตร จากนั้นกลับไปสร้างสูตร =Rand() แล้ว Save จะมีขนาด 834 KB
  4. เปิดแฟ้มใฟม่ขึ้นมา ให้สร้างสูตร Link จาก Source.xls เซลล์ A1:Z1000 ไปที่ไฟล์เปิดขึ้นใหม่นี้ตั้งชื่อ Target1.xls เซลล์ A1:Z1000 พอ Save จะพบว่าไฟล์ Target นี้มีขนาดใหญ่ถึง 1,117 KB ทีเดียว
  5. คราวนี้ลองเปิดไฟล์ใหม่ ตั้งชื่อ Target2.xls แล้วสร้างสูตรต่อไปนี้ลงไปในเซลล์เดียวที่เซลล์ใดก็ได้
    =SUM([Source.xls]Sheet1!$A$1:$Z$1000)
  6. สั่ง Save Target2.xls จะพบขนาดประมาณ 251 KB
  7. จากนั้นทำลายสูตรใน Target2.xls โดยเปลี่ยนเป็นตัวเลขที่คำนวณได้ทับลงไปในเซลล์เดิม เมื่อ Save จะมีขนาดเล็กลงมากเหลือแค่ 14 KB เท่านั้น

ตัวเลขขนาดไฟล์อาจแตกต่างกันไปบ้าง ไม่ใช่สาระสำคัญ แต่สังเกตในขณะที่ใช้สูตร Link ข้ามไฟล์ว่า Target1.xls มีขนาดไฟล์ใหญ่กว่า Source.xls กว่าเท่าตัว และ Target2.xls แม้มีสูตรอยู่เซลล์เดียว มีขนาดไฟล์ใหญ่กว่า 14 KB ตั้งหลายเท่า

เมื่อใดที่มีการสร้างสูตร Link ข้ามไฟล์ ขนาดของไฟล์ปลายทางจะขึ้นอยู่กับจำนวนเซลล์ที่ใช้งาน และจำนวนเซลล์สูตรที่อ้างถึงจากไฟล์ต้นทาง

เมื่อสร้างสูตร Link ในไฟล์ปลายทางจะถูกสร้างตารางใหม่ซ่อนไว้ เพื่อใช้เก็บ Cache Data ข้อมูลของไฟล์ต้นทาง ส่งผลให้ไฟล์ปลายทางมีขนาดใหญ่ขึ้น และเมื่อเปิดไฟล์ปลายทางขึ้นมาใช้งานเพียงไฟล์เดียว จะสามารถใช้ข้อมูลซึ่ง Link มาจากไฟล์ต้นทางที่ยังไม่ได้เปิดขึ้นต่อไปได้ เพราะเป็นการใช้ข้อมูลใน Cache Data

ถ้าเปิดไฟล์ปลายทางขึ้นมาแล้วเลือก Update Link จะทำให้ Excel แอบอ่านค่าในไฟล์ต้นทางมาปรับค่าใน Cache Data ให้เป็นค่าใหม่ แต่ถ้าไม่สั่ง Update ก็ยังสามารถใช้ข้อมูลเดิมจากส่วนที่เก็บไว้ใน Cache Data ต่อไป

ตัด Cache Data ทิ้งเมื่อไฟล์ใหญ่อุ้ยอ้าย

ไฟล์ปลายทางจะมีขนาดเล็กลง โดยสั่ง Tools > Options > Calculation > ตัดกาช่อง Save external link values เช่น ในตัวอย่างข้างต้น Target1.xls เดิมไฟล์มีขนาด 1,117 KB จะลดลงเหลือ 879 KB

เมื่อเปิดไฟล์ปลายทางซึ่งไม่มี Cache Data จะต้องเปิดพร้อมกับไฟล์ต้นทาง หรือสั่ง Update Link เสมอ ซึ่งจะเกิด Temporary Cache Data เก็บข้อมูลของไฟล์ต้นทางส่งต่อมาใช้ที่ไฟล์ปลายทางต่อไป แต่ถ้าไม่สั่ง Update Link จะพบว่าในบางครั้งเซลล์สูตร Link ทั้งหมดกลายเป็น error

ดังนั้นเมื่อใดที่ตัดกาช่อง Save external link values ผู้ใช้ไฟล์ปลายทางต้องเปิดไฟล์โดย Update Link เสมอ หรือใช้คำสั่ง Tools > Options > Edit > ตัดกาช่อง Ask to update automatic links เพิ่มอีกคำสั่งหนึ่ง เพื่อทำให้ Excel สั่ง Update ให้ทันทีโดยไม่ต้องถาม โดยคำสั่งนี้จะติดเครื่องไปตลอด ไม่เปลี่ยนแปลงแม้จะปิด Excel แล้วเปิดใหม่ก็ตาม

สิ่งที่ต้องระวังในการ Update Link คือ Excel จะ Update ให้เฉพาะไฟล์คู่ที่ Link กันเท่านั้น ไม่สามารถสั่งให้ Update ข้ามไฟล์ซึ่งไม่ใช่คู่กัน เช่น ถ้าไฟล์ชื่อ 3.xls Link ข้อมูลมาจากไฟล์ชื่อ 2.xls และไฟล์ชื่อ 2.xls นี้ Link ข้อมูลมาจากไฟล์ต้นทางชื่อ 1.xls จะทำให้เมื่อเปิดไฟล์ 3.xls การ Update ที่เกิดขึ้นจะเป็นการนำข้อมูลจากไฟล์ 2.xls เท่านั้น มิได้ช่วย Update ต่อระหว่าง 2.xls กับ 1.xls แต่อย่างใด

วิธีเปิดไฟล์ที่ Link กันทั้งหมดพร้อมกัน

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

เพื่อช่วยให้ไฟล์ทั้งหมดที่ Link กันถูกเปิดขึ้นครบทุกไฟล์ ในครั้งแรกให้เปิดไฟล์ทั้งหมดขึ้นมา จากนั้นสั่ง Save > Workspace จะได้ไฟล์ใหม่นามสกุล .xlw ต่อมาในภายหลังเมื่อต้องการเปิดไฟล์ทั้งหมดพร้อมกัน ให้เปิดไฟล์นามสกุล .xlw นี้เพียงไฟล์เดียว Excel จะทำหน้าที่เปิดไฟล์ทั้งหมดต่อให้เอง

ไฟล์นามสกุล .xlw ไม่ได้ช่วยเก็บข้อมูลของไฟล์อื่น แต่เป็นไฟล์บันทึกเพียงแค่ชื่อไฟล์ที่เคยเปิดใช้งานพร้อมกัน ไม่จำเป็นต้อง Link กันก็ได้ ดังนั้นเมื่อต้องการ Copy ไฟล์ทั้งหมดไปใช้ที่อื่น ต้องนำไฟล์ทั้งที่เป็น .xls และ .xlw ติดไปด้วยเสมอ แต่เวลาใช้งานให้เปิดไฟล์ .xlw เพียงไฟล์เดียวก็พอ

 

Categories

About this Entry

This page contains a single entry by สมเกียรติ ฟุ้งเกียรติ published on May 2, 2005 10:38 AM.

การเชื่อมโยงข้อมูล (Linking) was the previous entry in this blog.

จัดการ Link ที่ไม่ควรจะ Link is the next entry in this blog.

Find recent content on the main index.

Font s :
Background :