แม้ตารางฐานข้อมูลเป็นข้อมูลส่วนแรกที่ต้องสร้างลงไปในแฟ้มก็ตาม แต่ตารางที่ต้องคิดถึงก่อนคือตารางรายงานว่าต้องการแสดงคำตอบออกมาแบบใดและตารางคำนวณซึ่งต้องหาทางสร้างสูตรคำนวณให้ง่ายและสะดวกในการย้อนกลับมาแก้ไข ดังนั้นจึงต้องออกแบบตารางฐานข้อมูลให้สอดคล้องกับตารางส่วนอื่นๆเพื่อช่วยทำให้ไม่ต้องใช้สูตรยากๆในการดึงข้อมูลมาใช้
วิธีง่ายที่สุดซึ่งผู้ใช้ Excel ไม่มีพื้นฐานมากนักชอบใช้กัน มักเลือกออกแบบตารางฐานข้อมูลโดยกรอกข้อมูลไว้ตามแนวตั้งหรือแนวนอนตามลักษณะของตารางรายงานหรือตารางคำนวณ เช่น หน้ารายงานแสดงคำตอบรายเดือนแต่ละเดือนไว้ตามแนวนอนจากเซลล์ B5:M15 ดังนั้นข้อมูลในตารางฐานข้อมูลจึงบันทึกไว้ตามแนวนอนเช่นกันจากเซลล์ B2:M2 เพื่อทำให้สามารถสร้างสูตรลิงค์ดึงค่าที่ต้องการมาใช้ได้สะดวกเซลล์ต่อเซลล์ โดยไม่ต้องกังวลเรื่องการใส่เครื่องหมาย $ เพื่อควบคุมตำแหน่งอ้างอิง แต่การบันทึกข้อมูลเรื่องหนึ่งๆไว้ตามแนวนอนจะไม่สามารถนำคำสั่งบนเมนู Data เช่น Sort หรือ Filter มาใช้งานต่อได้เลย
ตารางฐานข้อมูลที่ออกแบบไว้ถูกต้องมีความสำคัญอย่างมาก ไม่เพียงจะช่วยทำให้ใช้คำสั่งบนเมนู Data ทุกคำสั่งได้ทันทีแล้วยังต้องช่วยทำให้แฟ้มมีขนาดกะทัดรัดและแฟ้มคำนวณได้เร็ว (ดูรายละเอียดจาก http://www.excelexperttraining.com/forums/content.php?r=500 ) ซึ่งผู้ใช้ Excel ควรรู้จักการใช้สูตร VLookup, Match, Index, Offset, Transpose, หรือสูตรอื่นที่เกี่ยวข้องกับการหาข้อมูล จะได้ไม่ต้องกังวลกับการดึงข้อมูลที่เก็บไว้ตามแนวตั้งไปใช้กับการคำนวณในตารางคำนวณตามแนวนอน
หากต้องการใช้ชีทเดียวเก็บตารางทั้งหมดทุกประเภท (เหมือนกับใน Excel รุ่นแรกๆซึ่งมีชีทเพียงชีทเดียว) ต้องหาทางจัดขนาด column ให้เหมาะกับทุกตารางที่อาจวางไว้ในแนวเดียวกันในชีทเดียวนั้นให้ได้ และต้องสามารถพิมพ์รายงานเรียงลำดับหน้าตามต้องการได้โดยไม่จำเป็นต้องสร้างตารางเรียงตามลำดับการพิมพ์ โดยกำหนดชื่อ Range Name หรือตำแหน่งเซลล์ที่ต้องการพิมพ์แต่ละหน้าคั่นด้วยเครื่องหมายคอมมาไว้ในส่วนของ Print Area เช่น Print1,Print2,Print3 หรือ $B$2:$E$16,$E$9:$H$25,$I$3:$L$29 อย่างไรก็ตามการเก็บตารางไว้ในชีทเดียวอาจไม่ใช่ทางเลือกที่เหมาะนักเพราะเมื่อปรับขนาดของ row หรือ column ในตารางหนึ่งจะกระทบกับโครงสร้างของตารางอื่นที่วางไว้ในแนว row หรือ column เดียวกัน
จากที่อธิบายมาข้างต้นมิได้หมายความว่าห้ามใช้ชีทเดียวเก็บข้อมูลทุกตาราง เพราะถ้าสามารถดูข้อมูลทุกอย่างได้ครบในชีทเดียวกันได้ย่อมสะดวกกว่าการคลิกเปลี่ยนไปยังชีทอื่นมาก โดยเฉพาะในช่วงแรกซึ่งยังมีข้อมูลไม่มากนัก หรือยังสร้างสูตรไม่เก่งจะได้เห็นผลลัพธ์กับตาทันทีที่ข้อมูลซึ่งเป็นตัวแปรในการคำนวณเปลี่ยนค่าต่างไปจากเดิม ต่อมาเมื่อข้อมูลเริ่มมากขึ้นหรือมีความสลับซับซ้อนมากขึ้นจึงค่อยใช้วิธี Cut ตารางไปวางที่ชีทอื่นหรือแฟ้มอื่น ซึ่ง Excel จะปรับโครงสร้างสูตรเดิมที่สร้างไว้เป็นสูตรที่มีตำแหน่งลิงค์ข้ามชีทหรือข้ามแฟ้มให้เอง ทั้งนี้ประเด็นสำคัญคือ แม้ใช้ชีทเดียวเก็บข้อมูลทุกตารางไว้ก็ตาม ต้องจัดเตรียมแบ่งข้อมูลแต่ละเรื่องไว้เป็นตารางส่วนของเรื่องนั้นไว้ชัดเจน พร้อมที่จะเลือกขอบเขตตารางที่ต้องการเพื่อสั่ง Cut ได้ทุกเมื่อ
ถ้าใครผ่านการอบรมหลักสูตรสุดยอดเคล็ดลับและลัดด้วย Excel กับผมมาก่อน จะส่งแฟ้มที่ใช้ชีทเดียวเท่านั้นมาถามในฟอรัมเสมอเพราะง่ายที่จะแกะและไม่ลำบากในการอธิบาย และจะไม่ส่งแฟ้มที่สร้างสูตรลิงค์ข้ามชีทหรือข้ามแฟ้มมาถาม เพราะเขาย่อมรู้ว่าแค่สั่ง Cut ตารางไปวางที่ชีทอื่นหรือแฟ้มอื่น Excel จะปรับโครงสร้างสูตรเดิมที่สร้างไว้เป็นสูตรที่มีตำแหน่งลิงค์ข้ามชีทหรือข้ามแฟ้มให้เอง
เมื่อข้อมูลเริ่มมากขึ้นหรือมีความซับซ้อนมากขึ้น ควรแยกชีทเก็บฐานข้อมูลแต่ละเรื่องเพื่อช่วยให้เกิดความสะดวกในการค้นหา เรียกดู หรือสั่งพิมพ์ โดยพยายามเก็บข้อมูลเรื่องเดียวกันไว้ใน column เดียวกันของแต่ละชีทเสมอจะได้สะดวกในการจดจำของมนุษย์ว่าเรื่องนั้นเรื่องนี้มักอยู่ใน column ใด
หากไม่จำเป็นแล้วไม่ควรแยกแฟ้มที่เก็บตารางฐานข้อมูลออกจากตารางคำนวณ เพราะจะทำให้ไม่สะดวกในการใช้งานและไม่ได้ช่วยให้แฟ้มที่ลิงค์ค่ามาใช้ในการคำนวณมีขนาดเล็กลงแต่อย่างใด การแยกแฟ้มตารางฐานข้อมูลออกจากแฟ้มคำนวณควรทำในกรณีที่ฐานข้อมูลนั้นเป็นข้อมูลส่วนกลางซึ่งถูกลิงค์ไปใช้ในแฟ้มคำนวณอื่นอีกหลายแฟ้ม หรือต้องการลิงค์เฉพาะค่าบางค่ามาใช้ข้ามแฟ้ม หรือลิงค์เฉพาะผลลัพธ์จากเซลล์บางเซลล์มาใช้ต่อ
ประโยชน์ของการแยกแฟ้ม เช่น แทนที่จะจัดเก็บข้อมูลแต่ละเดือนไว้ในแต่ละชีท ควรแยกเก็บไว้เป็นแฟ้มแต่ละเดือนจะเหมาะกว่า เมื่อต้องการดึงข้อมูลจากเดือนใด ให้ใช้คำสั่ง Data > Edit Links > Change Source เปลี่ยนชื่อแฟ้มต้นทางไปยังแฟ้มที่เก็บข้อมูลของเดือนที่ต้องการ ซึ่งง่ายและสะดวกกว่าการแยกชีทตามรายเดือนอย่างมาก (หลีกเลี่ยงการสูตร Indirect ดึงข้อมูลข้ามแฟ้ม เพราะทำงานช้าและจำเป็นต้องเปิดแฟ้มต้นทางด้วยเสมอสูตรนี้จึงจะทำงาน)
“ถ้าเก็บข้อมูลไว้จนเต็มครบทุก row ในชีทแล้ว ข้อมูลรายการถัดไปจะนำไปเก็บไว้ที่ไหน จะขึ้นชีทใหม่หรือขึ้นแฟ้มใหม่เพื่อบันทึกข้อมูลรายการถัดไป
ตั้งแต่ Excel 2007 เป็นต้นมาในชีทหนึ่งๆมีจำนวน row ถึงล้านกว่า row ซึ่งเปิดโอกาสให้สามารถเก็บข้อมูลไว้ในชีทเดียวได้โดยไม่ต้องขึ้นชีทใหม่ แต่เคยสักครั้งหรือไม่ที่นำข้อมูลทุกรายการที่เก็บไว้มาใช้งานพร้อมกัน ข้อมูลที่เก็บไว้จึงกลายเป็นของสะสมซึ่งส่งผลทำให้แฟ้มมีขนาดใหญ่ขึ้นเรื่อยๆ เปิดแฟ้มก็ช้า และทำให้สูตรคำนวณช้าลง
แล้วอะไรเอ่ยต้องเก็บไว้ในแฟ้มเดียวกันเสมอ หากแยกแฟ้มจะทำให้ Excel คำนวณไม่ได้
คำถามข้างต้นนี้เป็นประเด็นที่ยกขึ้นมาให้ผู้เข้าอบรมหลักสูตรสุดยอดเคล็ดลับและลัดของ Excel ได้คิดกัน”
ผู้ใช้ Excel ส่วนมากมักชอบเปิดชีทใหม่เพื่อเก็บข้อมูลแล้วสร้างสูตรลิงค์ดึงข้อมูลข้ามชีทมาใช้ แต่พอเปลี่ยนมาใช้ Excel รุ่นใหม่ที่มีจำนวน row นับล้านรอไว้ให้ใช้ ก็มักคิดหาทางนำข้อมูลจากทุกชีทที่แยกไว้มาบันทึกต่อกันในชีทเดียวโดยมีเหตุผลว่าเพื่อความสะดวก หรือคนที่เก่งสูตร Indirect ก็ยังปล่อยให้ใช้ชีทหลายชีทเพื่อเก็บข้อมูลแล้วนำสูตรนี้มาใช้ดึงข้อมูลจากชื่อชีท(หรือแฟ้ม)ที่ต้องการ โดยหารู้ไม่ว่าถ้าใช้สูตร Indirect ลิงค์ข้อมูลข้ามแฟ้ม จะต้องเปิดแฟ้มต้นทางขึ้นมาคู่กับแฟ้มปลายทางด้วยเสมอ สูตรนี้จึงจะดึงข้อมูลข้ามแฟ้มมาให้
ถ้าทุกครั้งที่ต้องการให้ Excel คำนวณหาคำตอบมาให้ ผู้ใช้งานจำเป็นต้องเปิดแฟ้มทุกแฟ้มที่ลิงค์กัน ย่อมเป็นทางออกที่ลำบากมาก เพราะต้องคอยจดจำว่ามีแฟ้มชื่อใดบ้างที่ต้องเปิดพร้อมกัน หรือแม้จะใช้แฟ้มแบบ workspace ช่วยลัดขั้นตอนในการเปิดแฟ้มทุกแฟ้มที่เคยเปิดใช้พร้อมกันก็ตามก็ยังไม่สะดวกนัก
พึงระลึกไว้เสมอว่า การคำนวณเรื่องใดที่ต้องอาศัยเซลล์ที่บันทึกค่าหรือสูตรที่สร้างไว้ให้คำนวณต่อเนื่องกัน ต้องเก็บเซลล์เหล่านั้นไว้ในแฟ้มเดียวกันเสมอ ห้ามแยกแฟ้มเป็นอันขาด เพราะหากแยกแฟ้มแล้วต้องเสียเวลาเปิดแฟ้มทุกแฟ้มขึ้นมาเพื่อคำนวณ สู้รวมไว้ในแฟ้มเดียวกันดีกว่า แต่การคำนวณเรื่องใดไม่จำเป็นต้องคำนวณพร้อมกัน สามารถแยกเป็นแฟ้มคำนวณเรื่องเหล่านั้นโดยเฉพาะแล้วลิงค์เฉพาะผลลัพธ์จากการคำนวณมาใช้ต่อ (โปรดสังเกตว่า ให้ลิงค์เฉพาะผลลัพธ์) ช่วยทำให้ไม่จำเป็นต้องเปิดแฟ้มขึ้นมาพร้อมกันก็ได้
ส่วนตัวข้อมูลที่บันทึกไว้ หากมีจำนวนเซลล์ไม่มากนัก จะแยกให้อยู่ต่างชีทกันแล้วใช้สูตร Indirect เลือกดึงข้อมูลตามชื่อชีทที่ต้องการมาใช้ก็ได้ แต่อย่าใช้สูตร Indirect ให้มากนักเพราะต้องสร้างสูตรนี้เพื่อดึงค่าเซลล์ต่อเซลล์และเป็นสูตรประเภท volatile ซึ่งทำให้แฟ้มเสียเวลาคำนวณนานมาก (จะคำนวณตามการเปลี่ยนแปลงใดๆในแฟ้มเสมอแม้ว่าจะไม่เกี่ยวข้องกับวงจรการลิงค์ค่าหรือสูตรมาใช้)
หากข้อมูลมีจำนวนมากนับร้อยนับพันเซลล์ ควรแยกข้อมูลเป็นแฟ้มใหม่ให้แต่ละแฟ้มเก็บข้อมูลที่เกี่ยวข้องการการคำนวณผลลัพธ์ตามช่วงเวลาหรือตามกลุ่มที่ต้องการผลลัพธ์นั้นๆ เช่น แยกแฟ้มตามรายวัน รายเดือน รายไตรมาส รายปี รายกลุ่มของสินค้า หรือตามรายกลุ่มของลูกค้าแต่ละประเภท แล้วลิงค์ข้อมูลมายังแฟ้มที่มีสูตรคำนวณ เมื่อต้องการหาคำตอบให้เปิดแค่แฟ้มสูตรคำนวณขึ้นมาเพียงแฟ้มเดียวแล้วใช้คำสั่ง Data > Edit Links > Change source เลือกชื่อแฟ้มต้นทางตามรายช่วงเวลาหรือรายกลุ่มที่ต้องการหาคำตอบ
คำสั่ง Change source นี้ Excel จะทำหน้าที่เปลี่ยนชื่อแฟ้มต้นทางเดิมที่อ้างอิงไว้ในเซลล์ใดๆก็ตามที่มีสูตรลิงค์ข้ามแฟ้มเป็นชื่อแฟ้มใหม่ที่เลือกใหม่ให้เองทุกเซลล์ โดยมีข้อแม้ว่าในแฟ้มปลายทางต้องไม่สั่ง Protect Sheet เอาไว้ และแฟ้มต้นทางใหม่กับแฟ้มต้นทางเก่าต้องมีโครงสร้างภายในตรงกันทั้งชื่อชีทและตำแหน่งเซลล์ (หากมีเพียงชีทเดียว ไม่จำเป็นต้องตั้งชื่อชีทให้ตรงกันก็ได้)
ถ้าเปรียบเทียบการแยกชีทกับการแยกแฟ้มสำหรับตัวฐานข้อมูลแล้ว Excel ได้เตรียมเครื่องมือ Change source ไว้ให้แก้ลิงค์ข้ามแฟ้ม ซึ่งสะดวกกว่าการแก้ชื่อชีทในสูตรลิงค์ข้ามชีทโดยใช้สูตร Indirect ดังนั้นจึงควรหาทางแยกฐานข้อมูลส่วนที่เลือกได้ไว้เป็นแฟ้มใหม่ เช่น แยกแฟ้มเก็บรายการขายประจำเดือนแต่ละเดือน หรือแยกแฟ้มรายการผลิตในแต่ละไตรมาส ส่วนข้อมูลใดที่มีค่าคงที่ซึ่งไม่จำเป็นต้องเลือกใหม่ ควรเก็บข้อมูลไว้ในแฟ้มเดียวกันกับตารางสูตรคำนวณ โดยจะเก็บไว้ในชีทเดียวกันหรือแยกเป็นชีทเก็บตารางนั้นๆโดยเฉพาะ เช่น แยกเป็นชีทเก็บตารางรายชื่อรหัสลูกค้าและชื่อลูกค้า ชีทเก็บรายชื่อรหัสสินค้าและชื่อสินค้า ชีทเก็บรหัสพนักงานและรายชื่อพนักงาน
อย่างไรก็ตามหากไม่จำเป็นแล้วพึงหลีกเลี่ยงการแยกแฟ้ม