สูตรอาร์เรย์ที่มีการรั่วไหลที่คุณพยายามใส่จะขยายเกินขอบเขตของเวิร์กชีต ลองอีกครั้งด้วยช่วงหรืออาร์เรย์ที่มีขนาดเล็กลง
ในตัวอย่างต่อไปนี้การย้ายสูตรไปยังเซลล์ 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
มี3วิธีง่ายๆในการแก้ไขปัญหานี้:
# |
วิธี |
สูตร |
---|---|---|
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 Tech Community ขอความช่วยเหลือใน Answers community หรือแนะนำฟีเจอร์ใหม่หรือการปรับปรุงบน Excel User Voiceได้เสมอ