ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สูตรอาร์เรย์ที่มีการรั่วไหลที่คุณพยายามใส่จะขยายเกินขอบเขตของเวิร์กชีต ลองอีกครั้งด้วยช่วงหรืออาร์เรย์ที่มีขนาดเล็กลง

ในตัวอย่างต่อไปนี้การย้ายสูตรไปยังเซลล์ F1 จะแก้ไขข้อผิดพลาดและสูตรจะหกอย่างถูกต้อง

ข้อผิดพลาด #SPILL! ข้อผิดพลาดที่ = เรียงลำดับ (D:D) ในเซลล์ F2 จะขยายเกินขอบของเวิร์กบุ๊ก ย้ายไปยังเซลล์ F1 และจะทำงานได้อย่างถูกต้อง

สาเหตุทั่วไป: การอ้างอิงทั้งหมดของคอลัมน์

มีวิธีการเข้าใจผิดในการสร้างสูตรVLOOKUPโดยการระบุอาร์กิวเมนต์lookup_value ก่อนที่จะสามารถใช้งาน อาร์เรย์แบบไดนามิกexcel excel จะพิจารณาเฉพาะค่าในแถวเดียวกันกับสูตรและละเว้นผู้อื่นเป็น VLOOKUP ที่คาดว่าจะเป็นค่าเดียวเท่านั้น ด้วยการแนะนำอาร์เรย์แบบไดนามิก Excel จะพิจารณาค่าทั้งหมดที่ระบุไว้ใน lookup_value ซึ่งหมายความว่าถ้าคอลัมน์ทั้งหมดถูกกำหนดให้เป็นอาร์กิวเมนต์ lookup_value Excel จะพยายามค้นหาค่า๑,๐๔๘,๕๗๖ทั้งหมดในคอลัมน์ เมื่อเสร็จเรียบร้อยแล้วก็จะพยายามที่จะหกเส้นตารางเหล่านั้นไปยังตารางและมีแนวโน้มที่จะตีจุดสิ้นสุดของตารางที่มีผลใน #SPILL! ข้อผิดพลาด  

ตัวอย่างเช่นเมื่อวางในเซลล์ E2 ตามตัวอย่างด้านล่างสูตร = VLOOKUP (A:A, A:C, 2, FALSE) ก่อนหน้านี้จะค้นหา ID ในเซลล์ A2 เท่านั้น อย่างไรก็ตามในอาร์เรย์แบบไดนามิก Excel สูตรจะทำให้เกิด #SPILL! ข้อผิดพลาดเนื่องจาก Excel จะค้นหาทั้งคอลัมน์ส่งกลับผลลัพธ์๑,๐๔๘,๕๗๖แล้วกดจุดสิ้นสุดของตาราง Excel

ข้อผิดพลาด #SPILL! ข้อผิดพลาดที่เกิดขึ้นกับ = VLOOKUP (A:A, A:D, 2, FALSE) ในเซลล์ E2 เนื่องจากผลลัพธ์จะหกเกินขอบของเวิร์กชีต ย้ายสูตรไปยังเซลล์ E1 และจะทำงานได้อย่างถูกต้อง

มี3วิธีง่ายๆในการแก้ไขปัญหานี้:

#

วิธี

สูตร

1

การอ้างอิงเฉพาะค่าการค้นหาที่คุณสนใจ สไตล์ของสูตรนี้จะส่งกลับอาร์เรย์แบบไดนามิกแต่ไม่ทำงานกับตาราง Excel 

ใช้ = VLOOKUP (A2: A7, A:C, 2, FALSE) เพื่อส่งกลับอาร์เรย์แบบไดนามิกที่จะไม่ส่งผลให้ #SPILL! ข้อผิดพลาด

= VLOOKUP (A2: A7, A:C, 2, FALSE)

2

การอ้างอิงเฉพาะค่าในแถวเดียวกันแล้วคัดลอกสูตรลง สไตล์สูตรแบบดั้งเดิมนี้จะทำงานในตารางแต่จะไม่ส่งกลับอาร์เรย์แบบไดนามิก

ใช้ VLOOKUP แบบดั้งเดิมที่มีการอ้างอิง lookup_value เดียว: = VLOOKUP (A2, A:C, 32, FALSE) สูตรนี้จะไม่ส่งกลับอาร์เรย์แบบไดนามิกแต่สามารถใช้กับตาราง Excel ได้

= VLOOKUP (A2, A:C, 2, FALSE)

3

ขอให้ Excel ทำการแยกโดยนัยโดยใช้ตัวดำเนินการ @ แล้วคัดลอกสูตรลง สไตล์ของสูตรนี้จะทำงานในตารางแต่จะไม่ส่งกลับอาร์เรย์แบบไดนามิก

ใช้ตัวดำเนินการ @ และคัดลอกลง: = VLOOKUP (@A: A, A:C, 2, FALSE) ลักษณะของการอ้างอิงนี้จะทำงานในตารางแต่จะไม่ส่งกลับอาร์เรย์แบบไดนามิก

= VLOOKUP (@A: A, A:C, 2, FALSE)

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

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

ดูเพิ่มเติม

ฟังก์ชัน FILTER

ฟังก์ชัน RANDARRAY

ฟังก์ชัน SEQUENCE

ฟังก์ชัน SORT

ฟังก์ชัน SORTBY

ฟังก์ชัน UNIQUE

ข้อผิดพลาด #SPILL! ใน Excel

ลักษณะการทำงานของอาร์เรย์แบบไดนามิกและอาร์เรย์ที่กระจายตัว

ตัวดำเนินการแยกโดยนัย: @

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

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

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

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

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

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

×