ข้อผิดพลาด #SPILL ถูกส่งกลับเมื่อสูตรส่งกลับผลลัพธ์หลายรายการหรือช่วง PivotTable ไม่ว่างเปล่า และ Excel ไม่สามารถส่งกลับผลลัพธ์ไปยังเส้นตารางได้ สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับชนิดข้อผิดพลาดเหล่านี้ ให้ดูหัวข้อวิธีใช้ต่อไปนี้:
หมายเหตุ
PivotTable #SPILL! ขณะนี้พร้อมใช้งานสําหรับผู้เข้าร่วมโปรแกรม Microsoft 365 Insider
ช่วงสปิลล์ไม่ว่างเปล่า
ข้อผิดพลาดนี้เกิดขึ้นเมื่อช่วงสปิลล์สําหรับสูตรอาร์เรย์ที่สปิลล์หรือช่วง PivotTable ไม่ว่าง
เลือกเซลล์ที่มี #SPILL! เพื่อแสดงเส้นประที่ระบุช่วงการรั่วไหลที่ต้องการ โดยเลือกเซลล์ที่มี #SPILL! ข้อผิดพลาด การแจ้งเตือนการตรวจสอบข้อผิดพลาดจะปรากฏขึ้น
เลือกการแจ้งเตือนการตรวจสอบข้อผิดพลาด และเลือกตัวเลือก เลือกเซลล์ที่กีดขวาง เพื่อไปยังเซลล์ที่กีดขวางทันที จากนั้นคุณสามารถล้างข้อผิดพลาดโดยการลบหรือย้ายรายการของเซลล์ที่กีดขวาง ทันทีที่ล้างสิ่งกีดขวาง สูตรอาร์เรย์จะสปิลล์หรือ PivotTable จะขยายตามที่ต้องการ
ขนาดไม่แน่นอน
Excel ไม่สามารถระบุขนาดของอาร์เรย์ที่สปิลล์ได้เนื่องจากเป็นอาร์เรย์ที่มีความเปลี่ยนแปลงง่าย และปรับขนาดระหว่างการคํานวณผ่าน ตัวอย่างเช่น สูตรต่อไปนี้จะทริกเกอร์ #SPILL นี้! ข้อผิดพลาด:
=SEQUENCE(RANDBETWEEN(1,1000))
การปรับขนาดอาร์เรย์แบบไดนามิกอาจทริกเกอร์การส่งผ่านการคํานวณเพิ่มเติมเพื่อให้แน่ใจว่าสเปรดชีตได้รับการคํานวณทั้งหมด ถ้าขนาดของอาร์เรย์ยังคงเปลี่ยนแปลงในระหว่างการส่งผ่านเพิ่มเติมเหล่านี้และไม่คงที่ Excel จะแก้ไขอาร์เรย์แบบไดนามิกเป็น #SPILL!
โดยทั่วไปแล้ว ค่าความผิดพลาดนี้จะเชื่อมโยงกับการใช้ฟังก์ชัน RAND,RANDARRAY และ RANDBETWEEN ฟังก์ชันที่เปลี่ยนแปลงได้อื่นๆ เช่น OFFSET,INDIRECT และ TODAY จะไม่ส่งกลับค่าที่แตกต่างกันในการคํานวณทุกครั้ง
ขยายเกินขอบเขตของเวิร์กชีต
ตัวอย่างเช่น เมื่ออยู่ในเซลล์ E2 ตามตัวอย่างด้านล่าง สูตร =VLOOKUP(A:A,A:C,2,FALSE) จะค้นหา ID ในเซลล์ A2 เท่านั้น อย่างไรก็ตาม ในอาร์เรย์แบบไดนามิก Excel สูตรจะทําให้เกิด #SPILL! เนื่องจาก Excel จะค้นหาทั้งคอลัมน์ ส่งกลับผลลัพธ์ 1,048,576 รายการ และกดจุดสิ้นสุดของเส้นตาราง Excel
มีสามวิธีง่ายๆ ในการแก้ไขปัญหานี้:
| # | แนวทาง | สูตร |
|---|---|---|
| 1 | อ้างอิงเฉพาะค่าการค้นหาที่คุณสนใจ สูตรสไตล์นี้จะส่งกลับอาร์เรย์แบบไดนามิก แต่ใช้ไม่ได้กับตาราง Excel
|
=VLOOKUP(A2:A7,A:C,2,FALSE) |
| 2 | อ้างอิงเฉพาะค่าบนแถวเดียวกัน จากนั้นคัดลอกสูตรลง สไตล์สูตรดั้งเดิมนี้ใช้งานได้ในตาราง แต่จะไม่ส่งกลับอาร์เรย์แบบไดนามิก
|
=VLOOKUP(A2,A:C,2,FALSE) |
| 3 | ขอให้ Excel ทําการอินเตอร์เซกชันโดยนัยโดยใช้ตัวดําเนินการ @ แล้วคัดลอกสูตรลง สูตรสไตล์นี้ทํางานในตาราง แต่จะไม่ส่งกลับอาร์เรย์แบบไดนามิก
|
=VLOOKUP(@A:A,A:C,2,FALSE) |
สูตรตาราง
สูตรอาร์เรย์ที่สปิลล์ไม่ได้รับการสนับสนุนในตาราง Excel ลองย้ายสูตรของคุณออกจากตาราง หรือแปลงตารางเป็นช่วง (เลือก เครื่องมือออกแบบตาราง > แปลงเป็นช่วง)>
หน่วยความจำไม่พอ
สูตรอาร์เรย์ที่สปิลล์ซึ่งคุณกําลังพยายามใส่ทําให้ Excel มีหน่วยความจําไม่เพียงพอ โปรดลองอ้างอิงอาร์เรย์หรือช่วงที่เล็กลง
สปิลล์ลงในเซลล์ที่ผสาน
สูตรอาร์เรย์ที่สปิลล์ไม่สามารถสปิลล์ลงในเซลล์ที่ผสานได้ โปรด ยกเลิกการผสานเซลล์ที่ มีปัญหา หรือย้ายสูตรไปยังช่วงอื่นที่ไม่ตัดกับเซลล์ที่ผสาน
เลือกสูตรเพื่อแสดงเส้นประที่ระบุช่วงสปิลล์ที่ต้องการ เมื่อเลือกสูตร การแจ้งเตือนการตรวจสอบข้อผิดพลาดจะปรากฏขึ้น
คุณสามารถเลือกการแจ้งเตือนการตรวจสอบข้อผิดพลาด และเลือกตัวเลือก เลือกเซลล์ที่กีดขวาง เพื่อไปยังเซลล์ที่กีดขวางทันที ทันทีที่มีการล้างเซลล์ที่ผสาน สูตรอาร์เรย์จะสปิลล์อย่างที่ควรจะเป็น
ไม่รู้จัก/แสดงแทน
Excel ไม่รู้จัก หรือไม่สามารถกระทบยอดสาเหตุของข้อผิดพลาดนี้ได้ โปรดตรวจสอบให้แน่ใจว่าสูตรของคุณมีอาร์กิวเมนต์ที่จําเป็นทั้งหมดสําหรับสถานการณ์สมมติของคุณ
ต้องการความช่วยเหลือเพิ่มเติมไหม
ดูเพิ่มเติม
คุณสามารถสอบถามผู้เชี่ยวชาญใน ชุมชนด้านเทคนิคของ Excel หรือรับการสนับสนุนใน ชุมชนได้เสมอ