ถ้าเปิดไฟล์ Excel แล้วเจอข้อความเตือน Circular Reference หรือสูตรคำนวณแล้วผลลัพธ์แปลก ๆ สาเหตุหนึ่งคือสูตรกำลังอ้างอิงวนกลับมาหาตัวเอง เช่น เซลล์ผลรวมดันรวมช่วงที่มีเซลล์ผลรวมอยู่ด้วย ทำให้ Excel ไม่รู้ว่าควรคำนวณจากค่าไหนก่อน
ปัญหานี้เจอบ่อยในไฟล์ที่มีการแทรกแถว เพิ่มสูตรต่อจากตารางเดิม หรือ copy สูตรมาจากชีตอื่น บทความนี้จะพาเช็คแบบเป็นขั้นตอนเพื่อแก้ให้ถูกจุด
Circular Reference คืออะไร
Circular Reference คือสูตรที่อ้างอิงกลับมายังเซลล์ตัวเองโดยตรงหรือโดยอ้อม ตัวอย่างง่าย ๆ คือใส่สูตรในเซลล์ A10 ว่า =SUM(A1:A10) แบบนี้ A10 กำลังเอาค่าของ A10 ไปรวมกับตัวเองด้วย จึงเกิดวงวน
วิธีหาเซลล์ที่มีปัญหา
- ไปที่แท็บ Formulas
- คลิก Error Checking
- เลือก Circular References
- คลิกตำแหน่งเซลล์ที่ Excel แสดงขึ้นมา
ถ้าไฟล์มีหลายชีต ให้เช็คชื่อชีตที่แสดงในรายการด้วย เพราะบางครั้งสูตรในชีตสรุปอาจอ้างอิงกลับไปกลับมากับชีตรายละเอียด
วิธีแก้สูตรผลรวมที่รวมตัวเอง
กรณีที่พบบ่อยที่สุดคือเซลล์ผลรวมรวมช่วงกว้างเกินไป เช่น สูตรอยู่ที่ A10 แต่เขียนว่า =SUM(A1:A10) ให้แก้เป็น =SUM(A1:A9) เพื่อไม่ให้รวมเซลล์ผลลัพธ์เข้าไปด้วย
เช็คสูตรที่อ้างอิงกันหลายทอด
บางครั้งเซลล์ A1 ไม่ได้อ้างอิงตัวเองโดยตรง แต่ A1 อ้างอิง B1, B1 อ้างอิง C1 และ C1 กลับมาอ้างอิง A1 แบบนี้ก็ถือว่าเป็นวงวนเหมือนกัน ให้ใช้ Trace Precedents และ Trace Dependents ในแท็บ Formulas เพื่อดูเส้นทางการอ้างอิง
แล้ว Iterative Calculation คืออะไร
Excel มีตัวเลือก Iterative Calculation สำหรับงานเฉพาะทางที่ตั้งใจให้สูตรวนคำนวณ เช่น แบบจำลองทางการเงินบางแบบ แต่สำหรับไฟล์ออฟฟิศทั่วไป ไม่ควรเปิดเพื่อกลบปัญหา เพราะอาจทำให้ผลลัพธ์ดูเหมือนออกมาแล้วแต่ไม่ถูกต้องตามตรรกะของงาน
ตัวอย่างงานจริง
ถ้าทำใบสรุปยอดขายและมีแถว “รวมทั้งหมด” อยู่ท้ายตาราง ให้ตรวจว่าช่วงผลรวมจบที่แถวก่อนหน้าเสมอ เช่น =SUM(D2:D50) ถ้าสูตรอยู่ใน D51 อย่าใช้ =SUM(D:D) เพราะอาจรวมเซลล์ผลรวมเข้าไปโดยไม่ตั้งใจ
ข้อควรระวัง
หลังแก้ Circular Reference แล้วควรกด Save As เป็นไฟล์ใหม่หรือคำนวณใหม่ด้วย Formulas > Calculate Now เพื่อเช็คว่าผลลัพธ์หลักเปลี่ยนถูกต้องหรือไม่ โดยเฉพาะไฟล์ที่ใช้ส่งรายงานต่อให้คนอื่น
สรุป
ถ้า Excel เตือน Circular Reference ให้หาเซลล์ต้นเหตุจากเมนู Error Checking ก่อน แล้วค่อยแก้ช่วงอ้างอิงให้ไม่วนกลับมาหาตัวเอง อย่าเพิ่งเปิด Iterative Calculation ถ้าไม่ได้ตั้งใจใช้จริง เพราะการแก้สูตรให้ถูกตั้งแต่ต้นจะปลอดภัยกว่า





