การจัดการข้อผิดพลาด SPILL
วิเคราะห์และแก้ไขช่วงข้อมูลที่กระจายไม่ได้ในชีตของคุณ
การจัดการข้อผิดพลาด SPILL เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
ข้อผิดพลาด SPILL หมายถึงอะไร
เมื่อสูตรอาร์เรย์แบบไดนามิกไม่สามารถวางผลลัพธ์ทั้งหมดได้ Excel จะแสดง #SPILL! ในเซลล์เริ่มต้น โดยปกติสูตรนั้นถูกต้อง ปัญหาคือมีบางสิ่งขวางตำแหน่งที่ผลลัพธ์ต้องแสดง
ลองนึกภาพเหมือนการพยายามนำรถบัสไปจอดในพื้นที่ที่มีรถยนต์จอดอยู่แล้ว รถบัสไม่ได้มีปัญหา แต่พื้นที่จอดถูกกีดขวาง
สาเหตุที่ 1: มีเซลล์ขวางอยู่
สาเหตุที่พบบ่อยที่สุดคือมีข้อมูลอยู่ในเซลล์อย่างน้อยหนึ่งเซลล์ของช่วงที่ผลลัพธ์จะกระจาย หาก =UNIQUE(A2:A12) ต้องเติมข้อมูลลงใน C1:C3 แต่ C2 มีค่าที่ไม่ควรอยู่ การกระจายผลลัพธ์จะถูกขวาง
วิธีแก้ทำได้ง่าย: เลือกเซลล์เริ่มต้น ดูเส้นประที่ล้อมช่วงการกระจาย แล้วล้างเซลล์ใดก็ตามภายในช่วงนั้นที่ไม่ว่าง
=UNIQUE(A2:A12)การค้นหาเซลล์ที่ขวางอยู่
คลิกเซลล์ที่แสดง #SPILL! Excel จะวาดเส้นขอบประรอบพื้นที่ที่ผลลัพธ์ต้องการใช้ เซลล์ที่ไม่ว่างใด ๆ ภายในเส้นขอบนั้นคือต้นเหตุ
คุณยังสามารถคลิกสามเหลี่ยมคำเตือนข้างเซลล์ แล้วเลือก Select Obstructing Cells เพื่อไปยังเซลล์ที่เป็นปัญหาโดยตรง จากนั้นจึงลบข้อมูลในเซลล์เหล่านั้น
สาเหตุที่ 2: เซลล์ที่ผสานกัน
ช่วงการกระจายไม่สามารถทับซ้อนกับ เซลล์ที่ผสานกันได้ แม้เซลล์ที่ผสานจะว่างอยู่ก็ถือเป็นสิ่งกีดขวาง เพราะการกระจายต้องใช้เซลล์แยกกันทีละเซลล์เพื่อเติมผลลัพธ์
หากผลลัพธ์ของคุณอยู่บนแถบชื่อหรือป้ายชื่อที่ผสานกัน ให้ยกเลิกการผสานเซลล์เหล่านั้น (แท็บ Home, ปุ่มสลับ Merge and Center) แล้วสูตรจะแสดงผลแบบกระจายได้อย่างถูกต้อง
สาเหตุที่ 3: พื้นที่ไม่เพียงพอ
การกระจายผลลัพธ์จะล้มเหลวเช่นกันหากผลลัพธ์ล้นขอบเวิร์กชีตหรือเข้าไปในตาราง ตัวอย่างเช่น สูตรที่อยู่ใกล้แถวล่างสุดและต้องกระจายลงด้านล่างจะไม่มีพื้นที่ให้แสดงผล
ย้ายสูตรขึ้นด้านบนหรือไปยังคอลัมน์ที่มีพื้นที่ว่างด้านล่าง ตรวจสอบให้แน่ใจว่ามีเซลล์ว่างในทิศทางการกระจายมากเท่าที่ผลลัพธ์ต้องใช้
สาเหตุที่ 4: การกระจายภายในตาราง
ตารางของ Excel (สร้างด้วย Ctrl+T) ไม่อนุญาตให้อาร์เรย์แบบไดนามิกกระจายผลลัพธ์ภายในตาราง เนื่องจากตารางกำหนดให้แต่ละเซลล์แก้ไขได้
หากสูตรที่กระจายผลลัพธ์อยู่ในคอลัมน์ของตาราง คุณจะได้รับ #SPILL! ให้แปลงตารางกลับเป็นช่วงข้อมูลปกติ (Table Design, Convert to Range) หรือย้ายสูตรออกไปไว้นอกตาราง
สาเหตุที่ 5: การอ้างอิงแบบเปลี่ยนแปลงได้หรือทั้งคอลัมน์
การอ้างอิงสูตรที่กระจายผลลัพธ์ไปยังทั้งคอลัมน์อาจทำให้เกิด #SPILL! ได้เช่นกัน เนื่องจากผลลัพธ์มีขนาดใหญ่มากและอาจชนกับเนื้อหาอื่นหรือเกินขีดจำกัด
ตัวอย่างเช่น =A:A*2 พยายามกระจายผลลัพธ์ถึงหนึ่งล้านแถว ให้จำกัดการอ้างอิงไว้เฉพาะข้อมูลจริง เช่น =A2:A100*2 เพื่อให้การกระจายผลลัพธ์มีขนาดพอดีและกำหนดขอบเขตได้ชัดเจน
=A2:A100*2อ่านคำอธิบายข้อผิดพลาด
เลื่อนเมาส์ไปวางเหนือสามเหลี่ยมเตือนบนเซลล์ #SPILL! แล้ว Excel จะแจ้งสาเหตุที่แน่ชัด ข้อความที่พบบ่อย ได้แก่ ช่วงการกระจายผลลัพธ์ไม่ว่าง ช่วงการกระจายผลลัพธ์มีเซลล์ที่ผสาน และ ช่วงการกระจายผลลัพธ์ใหญ่เกินไป
ควรอ่านคำอธิบายนี้เป็นอันดับแรกเสมอ เพราะจะชี้ไปยังสาเหตุโดยตรงแทนการคาดเดา และแต่ละข้อความจะสอดคล้องกับวิธีแก้ข้อใดข้อหนึ่งที่เพิ่งเรียนรู้
ข้อผิดพลาดจากการกระจายผลลัพธ์ไม่ใช่ข้อผิดพลาดของสูตร
สิ่งสำคัญที่ควรจำไว้คือ ข้อผิดพลาด #SPILL! แทบไม่เคยหมายความว่าตรรกะของสูตรไม่ถูกต้อง การคำนวณเสร็จสมบูรณ์แล้ว มีเพียงการวางผลลัพธ์เท่านั้นที่ไม่สำเร็จ
เมื่อคุณนำสิ่งกีดขวางออก สูตรเดิมที่ไม่ได้แก้ไขก็จะกระจายผลลัพธ์ได้อย่างสมบูรณ์ เปรียบเทียบกับ #VALUE! หรือ #REF! ซึ่งโดยทั่วไปจะบ่งชี้ว่ามีปัญหาจริงอยู่ภายในสูตร
ตัวอย่างการแก้ไข
คุณพิมพ์ =SORT(UNIQUE(A2:A20)) ใน D1 แล้วได้ผลลัพธ์เป็น #SPILL! คุณเลือก D1 เห็นเส้นประครอบคลุม D1:D5 และสังเกตว่ามีบันทึกเก่าอยู่ใน D3
คุณลบเนื้อหาใน D3 ทันทีนั้น สูตรก็กระจายรายการค่าที่ไม่ซ้ำกันซึ่งเรียงลำดับแล้วลงใน D1:D5 ไม่จำเป็นต้องแก้ไขสูตรเลย
=SORT(UNIQUE(A2:A20))ป้องกันการกระจายผลลัพธ์ก่อนเกิดปัญหา
การวางแผนเพียงเล็กน้อยช่วยหลีกเลี่ยงข้อผิดพลาดจากการกระจายผลลัพธ์ได้เกือบทั้งหมด จัดเตรียมคอลัมน์หรือพื้นที่ว่างให้สูตรอาร์เรย์แบบไดนามิกขยายผลลัพธ์ และวางป้ายกำกับกับบันทึกให้ห่างจากทิศทางการกระจายผลลัพธ์
เมื่ออ้างอิงการกระจายผลลัพธ์อื่น ให้ใช้ตัวดำเนินการ # เช่น =SUM(D1#) เพื่อให้สูตรปรับตามขนาดช่วงที่เปลี่ยนแปลง สร้างผลลัพธ์ในพื้นที่โล่ง และ #SPILL! จะเกิดขึ้นไม่บ่อย
=SUM(D1#)ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับข้อผิดพลาด SPILL
ทบทวน: การจัดการข้อผิดพลาด SPILL
คุณได้เรียนรู้ว่า #SPILL! เป็นปัญหาด้านการวางผลลัพธ์ ไม่ใช่ข้อผิดพลาดของตรรกะ:
- โดยส่วนใหญ่จะมีเซลล์หนึ่งในช่วงการกระจายผลลัพธ์ที่ ไม่ว่าง
- เซลล์ที่ผสาน และ ตาราง จะขัดขวางการกระจายผลลัพธ์
- หลีกเลี่ยงการอ้างอิง ทั้งคอลัมน์ ซึ่งทำให้ผลลัพธ์ใหญ่เกินไป
- ใช้ เลือกเซลล์ที่กีดขวาง และคำอธิบายข้อผิดพลาดเพื่อค้นหาสาเหตุ
จบหลักสูตรอาร์เรย์แบบไดนามิกและการกระจายผลลัพธ์แล้ว ขณะนี้คุณสามารถส่งคืนผลลัพธ์หลายรายการจากสูตรเดียว และแก้ไขปัญหาการกระจายผลลัพธ์ได้อย่างมั่นใจ
คำถามที่พบบ่อย
บทเรียน “การจัดการข้อผิดพลาด SPILL” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการข้อผิดพลาด SPILL” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อผิดพลาด SPILL”
วิเคราะห์และแก้ไขช่วงข้อมูลที่กระจายไม่ได้ในชีตของคุณ คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดการข้อผิดพลาด SPILL” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม
ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ความหมายของการกระจายผลลัพธ์
- กรองข้อมูลด้วย FILTER
- ลบรายการซ้ำด้วย UNIQUE
- การจัดการข้อผิดพลาด SPILL