DC12 – ตัวอย่างโครงสร้างตารางคำนวณแบบ Single Module แบบแยก Input ไว้ในชีทอื่น

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

ในตัวอย่างต่อไปเป็นการคำนวณทางสถิติของการวัด (Calibration) ก่อนอื่นขอเล่าที่ไปที่มาของตัวอย่างต่อไปนี้ก่อนว่า แต่เดิมทีนั้นแฟ้มมีขนาดใหญ่มากเพราะมีชีทนับร้อยชีท แต่ละชีทมีสูตรคำนวณทางสถิติยากๆยาวเหยียดหลายๆเซลล์

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

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

แทนที่จะต้องเปิดชีทใหม่ ขอให้ใช้หลักการสร้างตารางคำนวณแบบ Single Module โดยใช้โครงสร้างตารางแบ่งออกเป็น 3 ส่วน ดังนี้

  1. ส่วนของตาราง Input ใช้สำหรับเก็บตัวแปรที่ต้องการตามการวัดคุณภาพสินค้าแต่ละครั้ง ซึ่งตาราง Input นี้ใช้จัดเก็บข้อมูลการวัดแต่ละครั้งไว้เป็นแนวตั้งติดกัน
  2. ส่วนของตารางสูตรตัวกลางใช้ดึงข้อมูล เพื่อเลือก Input ตามเลขที่ของเลขครั้งในการวัด โดยใช้สูตร Index เพื่อเลือกดึงข้อมูลจากตาราง Input ในชีทเดียวกัน
  3. ส่วนของตารางคำนวณ เพื่อคำนวณตามค่าที่รับมาจากตารางสูตรตัวกลาง แต่เนื่องจากมีการคำนวณที่ซับซ้อนและเป็นรายงานที่ต้องใช้ตารางขนาดใหญ่ จึงให้ใช้ชีทอีกชีทหนึ่งเป็นส่วนของการคำนวณโดยเฉพาะ

จากเดิมซึ่งต้องมีหลายชีท จึงกลายเป็นแฟ้มใหม่ซึ่งมีชีทเพียง 2 ชีท ชีทหนึ่งเป็นชีทที่ใช้บันทึกผลการวัดคุณภาพแต่ละครั้ง แล้วใช้อีกชีทหนึ่งเป็นชีทแสดงการคำนวณทางสถิติ ( Download ตัวอย่างได้จาก www.ExcelExpertTraining.com/extreme/files/analysis/uncerdbf.xls) 

โครงสร้างภายในชีทสำหรับบันทึกตัวเลขจากการวัด

image013

ตารางตั้งแต่เซลล์ E2:E21 ใช้สำหรับบันทึกข้อมูลจากการวัดครั้งแรกแล้วใช้ column ถัดไปบันทึกข้อมูลจากการวัดในครั้งถัดไปติดต่อกันไปตามแนว column โดยในตัวอย่างนี้ตั้งชื่อพื้นที่ตารางส่วนที่ใช้บันทึกข้อมูลจากการวัดนี้ว่า DataRange

ตารางด้านซ้ายตั้งแต่เซลล์ C2:C21 เป็นสูตร Index ใช้สำหรับดึงข้อมูลที่บันทึกไว้ตามเลขที่ของการวัด ซึ่งใช้ตัวเลข 1-20 ใน Column D ช่วยในการชี้ตำแหน่งเลขที่ row

=INDEX( DataRange, D2, CaseNo )

  • DataRange คือพื้นที่ตาราง E2:N21 ใช้สำหรับบันทึกข้อมูลจากการวัด
  • D2 เป็นเลขที่ row เนื่องจากเป็นค่าแรกจึงใช้ดึงค่าจาก row ที่ 1
  • CaseNo เป็นเซลล์รับเลขที่ครั้งของการวัด ซึ่ง link มาจากชีทตารางคำนวณทางสถิติ

โครงสร้างภายในชีทสำหรับคำนวณทางสถิติของการวัด

image015

เซลล์ B4 ถือเป็นหัวใจของชีทนี้ เมื่อคุณพิมพ์เลขที่ CaseNo ลงไป จะทำให้สูตร Index ใน column C ของอีกชีทหนึ่งตามภาพก่อนหน้านี้ ดึงข้อมูลส่งต่อมาใช้แสดงหรือคำนวณในตารางคำนวณ Uncertainty Budget อีกทั้งยังใช้เซลล์ B4 ร่วมกับคำสั่ง Data > Table เพื่อสรุปผลเปรียบเทียบการวัด หรือใช้ร่วมกับคำสั่งพิมพ์อัตโนมัติที่เขียนด้วย VBA ตามนี้ได้อีกด้วย

    For i = StartNum To StopNum
        Range(“CaseNo”) = i
        Calculate
        ActiveWindow.SelectedSheets.PrintPreview
    Next i

  • StartNum เป็นตัวแปรกำหนดตัวเลขเริ่มของเลขที่ Case ที่ต้องการพิมพ์เป็นรายการแรก
  • StopNum เป็นตัวแปรกำหนดตัวเลขสุดท้ายของเลขที่ Case ที่ต้องการพิมพ์เป็นรายการสุดท้าย
  • For Next Loop จะส่งค่า i ไปยังเซลล์ชื่อ CaseNo เพื่อดูผลก่อนพิมพ์บนจอ (Print Preview) ซึ่งถ้าเปลี่ยนเป็นคำสั่ง Print ก็จะพิมพ์รายงานตามรายการที่ต้องการโดยอัตโนมัติ