วิธีแก้ไขข้อผิดพลาด #REF!

ข้อผิดพลาด #REF! จะแสดงเมื่อสูตรอ้างอิงไปยังเซลล์ที่ไม่ถูกต้อง จะเกิดขึ้นเป็นประจำเมื่อลบหรือวางทับเซลล์ที่สูตรอ้างอิง

ตัวอย่างเช่น - ข้อผิดพลาด #REF! เกิดจากการลบคอลัมน์

ตัวอย่างต่อไปนี้ใช้สูตร =SUM(B2,C2,D2) ในคอลัมน์ E

สูตรที่ใช้การอ้างอิงเซลล์ที่ไม่เหมาะสม เช่น =SUM(B2,C2,D2) สามารถก่อให้เกิดข้อผิดพลาด #REF! ถ้าลบคอลัมน์

ถ้าคุณกำลังจะลบคอลัมน์ B, C หรือ D จะทำให้เกิดข้อผิดพลาด #REF! ในกรณีนี้ เราจะลบคอลัมน์ C (ยอดขาย 2007) และขณะนี้สูตรจะอ่าน =SUM(B2,#REF!,C2) เมื่อคุณใช้การอ้างอิงเซลล์แบบตายตัวเช่นนี้ (ที่คุณอ้างอิงแต่ละเซลล์แยกกัน โดยคั่นด้วยเครื่องหมายจุลภาค) แล้วลบแถวหรือคอลัมน์ที่อ้างอิง Excel จะไม่สามารถแก้ไขได้ Excel จึงส่งกลับข้อผิดพลาด #REF! นี่คือสาเหตุหลักว่าทำไมถึงไม่แนะนำให้ใช้การอ้างอิงเซลล์แบบตายตัวในฟังก์ชัน

ตัวอย่างของข้อผิดพลาด #REF! ที่มีเหตุมาจากการลบคอลัมน์

วิธีแก้ไข

  • ถ้าคุณบังเอิญลบแถวหรือคอลัมน์ คุณสามารถคลิกปุ่มเลิกทำบนแถบเครื่องมือด่วนได้ทันที (หรือกด CTRL+Z) เพื่อคืนค่า

  • ปรับเปลี่ยนสูตรเพื่อให้ใช้การอ้างอิงช่วงแทนแต่ละเซลล์ เช่น =SUM(B2:D2) ขณะนี้คุณสามารถลบคอลัมน์ใดก็ตามภายในช่วงผลรวมและ Excel จะปรับเปลี่ยนสูตรโดยอัตโนมัติ คุณยังสามารถใช้ =SUM(B2:B5) สำหรับแถวผลรวม

ตัวอย่างเช่น - VLOOKUP ที่มีการอ้างอิงช่วงที่ไม่ถูกต้อง

ในตัวอย่างต่อไปนี้ =VLOOKUP(A8,A2:D5,5,FALSE) จะส่งกลับข้อผิดพลาด #REF! เนื่องจากกำลังค้นหาค่าเพื่อส่งกลับจากคอลัมน์ 5 แต่ช่วงการอ้างอิงคือ A:D ซึ่งมีเพียง 4 คอลัมน์เท่านั้น

ตัวอย่างของสูตร VLOOKUP ที่มีช่วงที่ไม่ถูกต้อง  สูตรคือ =VLOOKU(A8,A2:D5,5,FALSE)  ไม่มีคอลัมน์ที่ห้าในช่วง VLOOKUP 5 จึงก่อให้เกิดข้อผิดพลาด #REF!

วิธีแก้ไข

ปรับช่วงให้มีขนาดใหญ่ขึ้น หรือลดค่าการค้นหาคอลัมน์เพื่อให้ตรงกับช่วงการอ้างอิง =VLOOKUP(A8,A2:E5,5,FALSE) จะเป็นช่วงการอ้างอิงที่ถูกต้อง ที่เหมือนกับ =VLOOKUP(A8,A2:D5,4,FALSE).

ตัวอย่างเช่น - INDEX ที่มีการอ้างอิงแถวหรือคอลัมน์ที่ไม่ถูกต้อง

ในตัวยอ่างนี้ สูตร =INDEX(B2:E5,5,5) ส่งกลับข้อผิดพลาด #REF! เนื่องจากช่วง INDEX มี 4 แถวคูณ 4 คอลัมน์ แต่สูตรกำลังขอให้ส่งกลับสิ่งที่อยู่ในแถวที่ 5 และคอลัมน์ที่ 5

ตัวอย่างของสูตร INDEX ที่มีการอ้างอิงช่วงที่ไม่ถูกต้อง  สูตรคือ =INDEX(B2:E5,5,5) แต่ช่วงมี 4 แถวคูณ 4 คอลัมน์เท่านั้น

วิธีแก้ไข

ปรับการอ้างอิงแถวหรือคอลัมน์เพื่อให้การอ้างอิงอยูในช่วงการค้นหา INDEX =INDEX(B2:E5,4,4) จะส่งกลับผลลัพธ์ที่ถูกต้อง

ตัวอย่างเช่น – การอ้างอิงเวิร์กบุ๊กที่ปิดอยู่ด้วย INDIRECT

ในตัวอย่างต่อไปนี้ ฟังก์ชัน INDIRECT จะพยายามอ้างอิงเวิร์กบุ๊กที่ปิดอยู่ ซึ่งก่อให้เกิดข้อผิดพลาด #REF!

ตัวอย่างของข้อผิดพลาด #REF! ที่มีเหตุมาจาก INDIRECT ที่อ้างอิงเวิร์กบุ๊กแบบปิด

วิธีแก้ไข

เปิดเวิร์กบุ๊กที่อ้างอิง

ปัญหา OLE/DDE

ถ้าคุณใช้ลิงก์ Object Linking and Embedding (OLE) ที่กำลังส่งกลับข้อผิดพลาด #REF! จากนั้น เริ่มโปรแกรมที่ลิงก์กำลังเรียกใช้

หมายเหตุ: OLE คือเทคโนโลยีที่คุณสามารถใช้เพื่อแชร์ข้อมูลระหว่างโปรแกรม

ถ้าคุณใช้หัวข้อ Dynamic Data Exchange (DDE) ที่กำลังส่งกลับข้อผิดพลาด #REF! ให้ตรวจสอบให้แน่ใจว่า คุณได้ลงอ้างอิงหัวข้อที่ถูกต้อง

หมายเหตุ: DDE คือโพรโตคอลที่สร้างขึ้นสำหรับการแลกเปลี่ยนข้อมูลระหว่างโปรแกรมที่ใช้ Microsoft Windows

ปัญหาเกี่ยวกับแมโคร

ถ้าแมโครใส่ฟังก์ชันบนเวิร์กชีตที่อ้างอิงไปยังเซลล์ด้านบนฟังก์ชันดังกล่าว และเซลล์ที่มีฟังก์ชันอยู่ในแถว 1 ฟังก์ชันจะส่งกลับ #REF! เนื่องจากไม่มีเซลล์ด้านบนแถว 1 ตรวจสอบฟังก์ชันเพื่อดูว่าอาร์กิวเมนต์อ้างอิงไปยังเซลล์หรือช่วงเซลล์ที่ไม่ถูกต้องหรือไม่ ซึ่งอาจจำเป็นต้องแก้ไขแมโครใน Visual Basic Editor (VBE) เพื่อพิจารณาสถานการณ์นั้น

ต้องการความช่วยเหลือเพิ่มเติมไหม

คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community ขอความช่วยเหลือใน Answers community หรือแนะนำฟีเจอร์ใหม่หรือการปรับปรุงบน Excel User Voiceได้เสมอ

ดูเพิ่มเติม

ภาพรวมของสูตรใน Excel

วิธีการหลีกเลี่ยงสูตรที่ใช้งานไม่ได้

ใช้การตรวจสอบข้อผิดพลาดเพื่อตรวจดูข้อผิดพลาดในสูตร

ฟังก์ชัน Excel (ตามลำดับตัวอักษร)

ฟังก์ชัน Excel (ตามประเภท)

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×