อ้างอิงข้อมูลในชีตเพื่อปรับปรุงประสิทธิภาพเมื่อทํางานกับชุดข้อมูลขนาดใหญ่ ทําตามคําแนะนําต่อไปนี้เพื่อปรับปรุง
- ความเร็วในการคํานวณ
- ความเสถียร
- การใช้ CPU
อ้างอิงข้อมูลในชีตเดียวกันหากเป็นไปได้
อ้างอิงข้อมูลในสเปรดชีตเดียวกับที่คุณทํางาน วิธีนี้เร็วกว่าฟังก์ชันนําเข้า เช่น
- IMPORTRANGE
- IMPORTDATA
- IMPORTXML
- IMPORTHTML
หากคุณใช้ IMPORTRANGE() เพื่อดึงข้อมูลจากสเปรดชีตอื่น ฟังก์ชันนําเข้าที่อ้างอิงข้อมูลระหว่างสเปรดชีตต่างๆ จะยังคงดำเนินการผ่านอินเทอร์เน็ต แม้ว่าคุณจะทําสิ่งต่อไปนี้ก็ตาม
- เป็นเจ้าของสเปรดชีต
- เปิดในเบราว์เซอร์เดียวกัน
- อยู่ในไดรฟ์เดียวกัน
การใช้วิธีนี้กำหนดให้ระบบต้องส่งข้อมูลไป-กลับเพื่อขอและดึงข้อมูล ดังนั้นจึงอาจมีความล่าช้าและการเชื่อมต่อที่ไม่ต่อเนื่องซึ่งความเร็วโหลดช้า
หากย้ายข้อมูลจากสเปรดชีตอื่นไปยังสเปรดชีตของคุณเองและอ้างอิงข้อมูลจากสเปรดชีตดังกล่าว (รวมทั้งแท็บอื่นจากสเปรดชีตเดียวกัน) กระบวนการดึงข้อมูลจะเกิดขึ้นในเครื่อง ไม่ใช่ผ่านอินเทอร์เน็ต วิธีนี้จะช่วยประหยัดเวลา แต่จะใช้ได้ก็ต่อเมื่อคุณใช้ข้อมูลที่ค่อนข้างคงที่และเชิงกําหนด ซึ่งจะไม่เปลี่ยนแปลง เช่น ประวัติสินค้าคงคลังหรือข้อมูลประวัติ
หากต้องการย้ายข้อมูลด้วยตนเอง ให้คัดลอกข้อมูลที่มีอยู่จากสเปรดชีตอื่นไปยังสเปรดชีตของคุณ โดยทําดังนี้
- ถัดจากชื่อชีตที่ด้านล่าง ให้คลิกลูกศรลง คัดลอกไปยัง สเปรดชีตที่มีอยู่
- เลือกสเปรดชีตที่จะคัดลอกชีตนี้ไป
เคล็ดลับ: หากไม่พบสเปรดชีตที่จะคัดลอกในมุมมองไดรฟ์ ให้วางที่อยู่เว็บของสเปรดชีตลงในแถบด้านล่าง
ใช้ช่วงแบบปิดแทนการอ้างอิงช่วงแบบเปิด
สเปรดชีตที่มีช่วงเปิดหมายถึงช่วงเริ่มต้นและสิ้นสุดโดยไม่ต้องระบุแถวหรือคอลัมน์ที่เฉพาะเจาะจง เช่น A:B หมายถึงช่วงที่ประกอบด้วยเซลล์ทั้งหมดในคอลัมน์ A และ B
การอ้างอิงช่วงแบบปิดหมายถึงช่วงเริ่มต้นและลงท้ายด้วยแถวหรือคอลัมน์ที่เจาะจง
เช่น A1:B6, A1:C100
ช่วงแบบเปิด: A:B
ช่วงแบบปิด: A1:B6
ตัวอย่าง: สมมติว่าคุณกําลังคํานวณผลรวมของคอลัมน์ A แต่มีเพียง 10 แถวจาก 10,000 แถวเท่านั้นที่มีค่า
- หากใช้การอ้างอิงช่วงแบบเปิดในฟังก์ชัน SUM ซึ่งก็คือ SUM(A:A) คอมพิวเตอร์จะอ่านทั้ง 10,000 แถว แม้ว่าจะมีเซลล์ว่างในการอ้างอิงช่วงแบบเปิดก็ตาม Google ชีตจะตรวจสอบแต่ละเซลล์เพื่อให้แน่ใจว่าไม่ได้เป็นเซลล์ว่าง
- หากคุณใช้การอ้างอิงแบบปิด ซึ่งก็คือ SUM(A1:A10) คอมพิวเตอร์จะอ่านเฉพาะแถว A1 ถึง A10 และชีตจะคํานวณได้เร็วขึ้น
อ้างอิงฟังก์ชันที่มีค่าผันผวนอย่างมีประสิทธิภาพ
TODAY(), RAND(), RANDBETWEEN() และ NOW() เป็นฟังก์ชันที่มีค่าผันผวนเพราะเปลี่ยนและรีเฟรชเป็นประจําเพื่อให้ข้อมูลเป็นปัจจุบัน โดยฟังก์ชันเหล่านี้จะไม่ได้มีลักษณะคงที่ ตัวอย่างเช่น TODAY() นั้นจะรีเฟรชทุกวัน
ตัวอย่าง: แต่ละแถวในคอลัมน์ B จะอ่านข้อมูลจากแต่ละแถวของคอลัมน์ A ซึ่งหมายความว่าคอลัมน์ A จะรีเฟรชทุกเซลล์เมื่อคอลัมน์ B คํานวณผลลัพธ์
เมื่อคุณอ้างอิงฟังก์ชันที่มีค่าผันผวนซึ่งให้ผลลัพธ์เหมือนกัน เช่น NOW() และ TODAY() ให้ตรวจสอบว่าได้ใช้การอ้างอิงสัมบูรณ์เพื่อให้คุณอ้างอิงเพียงครั้งเดียวเท่านั้น ในกรณีนี้ คอลัมน์ B จะคํานวณผลลัพธ์โดยขึ้นอยู่กับเซลล์เดียว นั่นคือ A2 เมื่อนําทรัพยากร Dependency ที่ไม่จําเป็นออกแล้ว ชีตจะทํางานได้เร็วขึ้น
หลีกเลี่ยงการใช้เชนการอ้างอิงแบบยาว หากเป็นไปได้
เชนการอ้างอิงจะทําให้ชีตทำงานช้าลง ตัวอย่างเช่น ในกรณีต่อไปนี้ A2 จะอ่านข้อมูล A1 ขณะที่ A3 จะอ่านข้อมูล A2 และทำนองเดียวกันในเซลอื่นๆ เนื่องจากระบบเชื่อมโยงข้อมูลเข้าด้วยกันเพื่อคํานวณค่าใน A10 ทาง Google ชีตจะรอคํานวณค่าก่อนหน้าทั้งหมด (A1 ถึง A9) ก่อนที่จะแสดงผลค่าใน A10
หากต้องการหลีกเลี่ยงไม่ให้มีการคํานวณแบบเชนเมื่อเติมค่าในเซลล์ ให้ใช้การอ้างอิงแบบสัมบูรณ์ ในกรณีนี้ A2 จะอ่านข้อมูลจาก A1 ส่วน A3 จะอ่านข้อมูลจาก A1 เป็นต้น เนื่องจากระบบคำนวณ A1 และแสดงผลค่าแล้ว เซลล์ A2 ถึง A10 ก็จะดึงค่าของ A1 โดยตรง ผลลัพธ์ที่ได้นั้นเหมือนกันแต่จะใช้เวลาคํานวณจะเร็ว