VLOOKUP ไม่ทำงาน (8 เหตุผล & วิธีแก้ไข)

  • แบ่งปันสิ่งนี้
Hugh West

สารบัญ

VLOOKUP เป็นหนึ่งในฟังก์ชันทั่วไปและมีประโยชน์มากที่สุด เนื่องจากมีการใช้กันอย่างแพร่หลาย หลายคนจึงบ่นว่า VLOOKUP ทำงานไม่ถูกต้องหรือแสดงผลลัพธ์ไม่ถูกต้อง แม้ว่า VLOOKUP จะมีข้อจำกัดบางประการ แต่ข้อผิดพลาดส่วนใหญ่ที่เราได้รับคือการไม่เข้าใจไวยากรณ์อย่างถูกต้องหรือใช้งานไม่ระมัดระวัง ในบทความนี้ ฉันจะอธิบายว่าทำไม VLOOKUP ไม่ทำงาน

เพื่อให้คำอธิบายเข้าใจได้ ฉันจะใช้ชุดข้อมูลที่แสดงถึงข้อมูลผลิตภัณฑ์เกี่ยวกับร้านขายผลไม้แห่งใดแห่งหนึ่ง ชุดข้อมูลมี 5 คอลัมน์; ได้แก่ ผลไม้ , รหัสคำสั่งซื้อ ปริมาณ (กก.) ราคา และ วันที่สั่งซื้อ .

ดาวน์โหลดสู่แบบฝึกหัด

ดาวน์โหลดสมุดงานได้จากลิงก์ด้านล่างนี้

VLOOKUP ไม่ทำงานใน Excel.xlsx

8 เหตุผลที่ VLOOKUP ไม่ทำงาน

1. VLOOKUP ไม่ทำงานและแสดง N/ ข้อผิดพลาด

ในส่วนนี้ ฉันจะแสดงให้คุณเห็นว่าทำไมข้อผิดพลาด #N/A จึงเกิดขึ้นขณะทำงานกับ ฟังก์ชัน VLOOKUP และฉันจะแนะนำวิธีแก้ปัญหาที่ดีที่สุดให้คุณเพื่อหลีกเลี่ยง #N/A ข้อผิดพลาด

1.1. ช่องว่างนำหน้าและต่อท้าย

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

ที่นี่ ฉันใช้สูตร VLOOKUP ฟังก์ชัน MATCH ยังใช้ FALSE เป็น range_lookup เพื่อรับ ตรงทั้งหมด .

ใน MATCH ฟังก์ชัน ฉันใช้ชื่อคอลัมน์ J3 เป็น lookup_value จากนั้นเลือกช่วงชื่อคอลัมน์ B3:G3 เป็น lookup_array จากนั้น ใช้ 0 เป็น match_type เพื่อใช้ ตรงทั้งหมด

กดปุ่ม ENTER ดังนั้น คุณจะได้ผลลัพธ์ที่ต้องการ

8. ค่าการค้นหามีค่าซ้ำกัน

ในกรณีที่ lookup_value มีค่าที่ซ้ำกัน ดังนั้น VLOOKUP จะไม่ทำงานสำหรับค่าที่มีอยู่ทั้งหมด

VLOOKUP ส่งคืนค่าแรกที่ตรงกับค่าที่คุณค้นหาเท่านั้น สำหรับ

วิธีแก้ไข :

เพื่อหลีกเลี่ยงปัญหาประเภทดังกล่าว คุณสามารถลบรายการที่ซ้ำกันหรือใช้ปุ่ม pivot table .

⏩ คุณสามารถลบรายการที่ซ้ำกันโดยใช้ ลบรายการที่ซ้ำกัน จากนั้น Ribbon

⏩ นอกจากนี้ คุณสามารถใช้ Pivot ตาราง .

ในการใช้งาน

ก่อนอื่น เลือกช่วงเซลล์

จากนั้น เปิดแท็บ แทรก >> เลือก Pivot Table

กล่องโต้ตอบ จะปรากฏขึ้น เลือกสถานที่ จากนั้นคลิก ตกลง

ตอนนี้ คุณสามารถเลือก ผลไม้ และ รหัสคำสั่งซื้อ ใน แถว จากนั้นระบบจะแสดง ที่มีอยู่ รหัสคำสั่งซื้อ ของ ผลไม้ ที่คุณเลือก

อ่านเพิ่มเติม: วิธีค้นหา ค่าที่ซ้ำกันใน Excelการใช้ VLOOKUP

ส่วนแบบฝึกหัด

ฉันได้ให้แบบฝึกหัดในสมุดงานเพื่อฝึกวิธีการอธิบายเหล่านี้

สรุป

ในบทความนี้ ฉันพยายามครอบคลุมสถานการณ์ทุกประเภทของ VLOOKUP ที่ไม่ทำงานพร้อมกับวิธีแก้ปัญหาเพื่อหลีกเลี่ยงข้อผิดพลาด วิธีต่างๆ เหล่านี้จะช่วยให้คุณทำงานกับฟังก์ชัน VLOOKUP ได้อย่างมีประสิทธิภาพและง่ายดายยิ่งขึ้น สุดท้ายแต่ไม่ท้ายสุด หากคุณมีคำแนะนำ แนวคิด หรือคำติชมใดๆ โปรดอย่าลังเลที่จะแสดงความคิดเห็นด้านล่าง

อย่างถูกต้อง

ก่อนอื่น เลือกเซลล์เพื่อวางค่าผลลัพธ์ของคุณ

➤ ฉันเลือกเซลล์ I4

จากนั้น พิมพ์สูตรต่อไปนี้ลงใน แถบสูตร .

=VLOOKUP(H4,B4:F12,2)

ที่นี่ ใน VLOOKUP ฟังก์ชัน ฉันเลือกเซลล์ H4 เป็น lookup_value และเลือกช่วง B4:F12 เป็น table_array เนื่องจากฉันต้องการทราบ Order ID จึงกำหนดให้ 2 เป็น col_index_num .

กดปุ่ม ENTER ตอนนี้ คุณควรได้รับ รหัสคำสั่งซื้อ ของค่า look_up แต่จะแสดง #N/A

ตอนนี้ หลังจากดูที่ชุดข้อมูล คุณจะพบว่า lookup_value Apple มีช่องว่างนำหน้า ซึ่งเป็นสาเหตุที่ทำให้ VLOOKUP ไม่ทำงาน

วิธีแก้ไข :

หากต้องการลบช่องว่างนำหน้าหรือต่อท้าย ให้ใช้ lookup_value อาร์กิวเมนต์ที่มี ฟังก์ชัน TRIM ภายในฟังก์ชัน VLOOKUP

ให้ฉันแสดงให้คุณเห็นว่าคุณสามารถใช้ฟังก์ชัน TRIM ภายในฟังก์ชัน VLOOKUP ได้อย่างไร .

เพื่อหลีกเลี่ยงข้อผิดพลาด VLOOKUP พิมพ์สูตรต่อไปนี้ในเซลล์ที่คุณเลือก

=VLOOKUP(TRIM(H4),B4:F12,2)

ที่นี่ ฟังก์ชัน TRIM จะลบช่องว่างนำหน้าและต่อท้ายที่มีอยู่ทั้งหมดของเซลล์ที่เลือก H4 .

1.2. สำหรับการพิมพ์ผิด VLOOKUP ไม่ทำงาน

การพิมพ์ผิดของ lookup_value เป็นอีกสาเหตุหนึ่งที่ทำให้ VLOOKUP ไม่ทำงาน

ที่นี่ คุณจะเห็นว่าฉันใส่สูตรอย่างถูกต้องในเซลล์ที่เลือก

=VLOOKUP(H4,B4:F12,2)

กดปุ่ม ENTER แต่แทนที่จะแสดง รหัสคำสั่งซื้อ ระบบจะแสดงข้อผิดพลาด #N/A

ตอนนี้ ดูที่ lookup_value คุณจะ เห็นว่าการสะกดของ Apple ไม่ถูกต้อง นั่นคือสาเหตุที่ VLOOKUP ไม่ทำงาน

วิธีแก้ไข :

พิมพ์ lookup_value อย่างระมัดระวังเสมอ คุณต้องคงการสะกดค่าจากตารางข้อมูลให้ถูกต้อง

ขณะที่ฉันพิมพ์ lookup_value ตามที่อยู่ในตาราง ดังนั้น VLOOKUP จึงทำงานได้

1.3. ค่าตัวเลขจัดรูปแบบเป็นข้อความ

ในกรณีที่ค่าตัวเลขจัดรูปแบบเป็นข้อความใน table_array จะแสดงข้อผิดพลาด #N/A ขณะที่ใช้ VLOOKUP ฟังก์ชัน

ฉันจะพยายามหา ราคา โดยใช้ รหัสคำสั่งซื้อ เป็น lookup_value .

ก่อนอื่น เลือกเซลล์เพื่อวางค่าผลลัพธ์ของคุณ

➤ ฉันเลือกเซลล์ I4

จากนั้น พิมพ์สูตรต่อไปนี้ลงใน แถบสูตร .

=VLOOKUP(H4,C4:F12,3)

กดปุ่ม ENTER ดังนั้น คุณจะได้รับข้อผิดพลาด #N/A แทนที่จะเป็น ราคา

ตอนนี้ หากคุณผ่านคอลัมน์ รหัสคำสั่งซื้อ คุณจะเห็นตัวเลข 1001 ถูกจัดรูปแบบเป็นข้อความ นั่นคือเหตุผลที่ไม่ทำงาน VLOOKUP .

วิธีแก้ไข :

เพื่อหลีกเลี่ยงประเภทดังกล่าวของข้อผิดพลาด ให้ตรวจสอบรูปแบบของค่าตัวเลขเสมอ ที่นี่ ฉันแก้ไขรูปแบบตัวเลขเป็นตัวเลขเพื่อให้ VLOOKUP ทำงานได้

อ่านเพิ่มเติม: VLOOKUP บางส่วน ข้อความจากเซลล์เดียวใน Excel

1.4. ค่าการค้นหาไม่ใช่คอลัมน์ซ้ายสุด

ฟังก์ชัน VLOOKUP รักษาลำดับ ซึ่ง lookup_value จะต้องเป็น คอลัมน์ซ้ายสุด ถ้าไม่เช่นนั้นจะไม่ทำงาน

ฉันจะพยายามหา ราคา โดยใช้ รหัสคำสั่งซื้อ เป็น lookup_value

ดังนั้น ฉันใช้สูตรต่อไปนี้

=VLOOKUP(H4,B4:F12,3)

แต่นี่คือ รหัสคำสั่งซื้อ คอลัมน์ไม่ใช่คอลัมน์ซ้ายสุดของ table_array B4:F12 นั่นเป็นเหตุผลว่าทำไมจึงแสดงข้อผิดพลาด #N/A

วิธีแก้ไข :

ที่นี่คุณสามารถหลีกเลี่ยงข้อผิดพลาดได้ 2 วิธี

⏩ วิธีแรกคือคุณสามารถเปลี่ยน table_array โดยที่ lookup_value จะเป็น คอลัมน์ซ้ายสุด

⏩ ประการที่สอง คุณสามารถวางคอลัมน์ lookup_value ที่ตำแหน่งซ้ายสุดของตารางชุดข้อมูล

อ่านเพิ่มเติม: VLOOKUP ที่มีค่าการค้นหาสองค่าใน Excel (2 แนวทาง)

1.5. ตารางขนาดใหญ่หรือการแทรกแถวใหม่ & คอลัมน์ที่มีค่า

บางครั้งเราแทรกข้อมูลใหม่ลงในชุดข้อมูลของเรา แต่ลืมเปลี่ยน table_array ดังนั้น VLOOKUP จึงทำงานไม่ถูกต้อง

ฉันจะพยายามหา รหัสคำสั่งซื้อ โดยใช้ ผลไม้ เป็น lookup_value .

ดังนั้น ฉันจึงใช้สูตรต่อไปนี้

=VLOOKUP(H4,B4:F12,2,FALSE)

ที่นี่ ฉันใช้ประเภท ตรงทั้งหมด เพื่อหลีกเลี่ยงข้อมูลที่ทำให้เข้าใจผิด และใส่ข้อมูลสำหรับ Lichi แต่เกิดข้อผิดพลาดเนื่องจากฉันไม่ได้อัปเดต table_array .

วิธีแก้ไข :

โปรดจำไว้ว่าเมื่อใดก็ตามที่คุณใส่ข้อมูลใหม่ลงในตารางชุดข้อมูลของคุณให้อัปเดต table-array ด้วย

⏩ที่นี่ ฉันอัปเดต table_array ในสูตร

=VLOOKUP(H4,B4:F14,2,FALSE)

⏩ อีกวิธีหนึ่งคือการแปลงชุดข้อมูลของคุณเป็นตาราง

ก่อนอื่น เลือกช่วงเซลล์

จากนั้น เปิด แทรก >> เลือก ตาราง

A กล่องโต้ตอบ จะปรากฏขึ้น

จากนั้น คลิก ตกลง .

เนื่องจากตอนนี้ชุดข้อมูลของคุณกลายเป็นตาราง คุณก็สามารถใช้ชื่อตารางได้

อ่านเพิ่มเติม: เหตุใด VLOOKUP จึงส่งคืน #N/A เมื่อตรงกัน (5 สาเหตุและวิธีแก้ไข)

2. VLOOKUP ไม่ทำงานและแสดงข้อผิดพลาด VALUE

จากส่วนนี้ คุณจะได้ทราบสาเหตุที่ #VALUE ข้อผิดพลาด เกิดขึ้นขณะทำงานกับฟังก์ชัน VLOOKUP นอกจากนี้ ฉันจะแนะนำวิธีแก้ปัญหาที่เป็นไปได้ทั้งหมดเพื่อหลีกเลี่ยงข้อผิดพลาด #VALUE

2.1 สำหรับหมายเลขดัชนีคอลัมน์น้อยกว่า 1

หากคุณใช้ col_index_num น้อยกว่า 1 โดยไม่ตั้งใจ คุณจะได้รับข้อผิดพลาด #VALUE 3>

ในกรณีที่คุณได้รับ #VALUE โปรดตรวจสอบอาร์กิวเมนต์ col_index_num ของคุณ

อ่านเพิ่มเติม: VLOOKUP ด้วยตัวเลขใน Excel (4 ตัวอย่าง)

2.2. การใช้อักขระมากกว่า 255 ตัว

สมมติว่าคุณมีข้อความขนาดยาวเป็นค่าที่มากกว่า 255 อักขระ ดังนั้นคุณจะมีข้อผิดพลาด #VALUE

ที่นี่ ในเซลล์ A7 ฉันใส่ค่าที่เกิน 255 อักขระ

จากนั้นใช้สูตรต่อไปนี้

=VLOOKUP(G4,A4:E12,2)

ตอนนี้ คุณจะเห็นว่าผลลัพธ์แสดงข้อผิดพลาด #VALUE

วิธีแก้ไข :

เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ คุณสามารถลดอักขระหรือคุณสามารถใช้ ดัชนี และ ฟังก์ชัน MATCH แทน VLOOKUP .

ที่นี่ ฉันใช้ฟังก์ชัน MATCH และ INDEX

=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))

ที่นี่ ในฟังก์ชัน INDEX เลือกการอ้างอิงสัมบูรณ์ของช่วงเซลล์ $B$4:$B$12 จากที่ฉันต้องการคืนค่า

ในฟังก์ชัน MATCH ให้ TRUE เป็น lookup_value และใช้ INDEX อื่น ( $A$4:$A$12=G4,0) ฟังก์ชันเป็น lookup_array จากนั้นใช้ 0 เป็น match_type เพื่อใช้ ตรงทั้งหมด จับคู่ .

กดปุ่ม ENTER และคุณจะได้รับผลลัพธ์สำหรับ lookup_value มากกว่า 255 อักขระ<3

อ่านเพิ่มเติม: INDEX MATCH เทียบกับฟังก์ชัน VLOOKUP (9 ตัวอย่าง)

การอ่านที่คล้ายกัน <2

  • เอ็กเซลLOOKUP เทียบกับ VLOOKUP: ด้วย 3 ตัวอย่าง
  • วิธีสร้าง VLOOKUP Case Sensitive ใน Excel (4 วิธี)
  • Excel VLOOKUP เพื่อหาค่าสุดท้ายใน คอลัมน์ (พร้อมทางเลือก)
  • วิธีดำเนินการ VLOOKUP ด้วยสัญลักษณ์แทนใน Excel (2 วิธี)
  • Excel VLOOKUP เพื่อส่งคืนค่าหลายค่าในแนวตั้ง

3. VLOOKUP ไม่ทำงานและแสดงข้อผิดพลาด REF

ที่นี่ คุณจะทราบสาเหตุที่ ข้อผิดพลาด #REF เกิดขึ้นขณะทำงาน ด้วยฟังก์ชัน VLOOKUP และคุณจะได้รับวิธีแก้ปัญหาเพื่อหลีกเลี่ยงข้อผิดพลาด #REF

3.1. การใช้จำนวนดัชนีคอลัมน์มากกว่าตาราง

ในกรณีที่คุณใช้ col_index_num มากกว่าจำนวนคอลัมน์ที่คุณมีใน table_array คุณจะได้รับ # REF ข้อผิดพลาด

ที่นี่ ฉันใช้ 6 เป็น col_index_number แต่ table_array มี 5 คอลัมน์ทั้งหมด นั่นคือสาเหตุที่ฟังก์ชัน VLOOKUP ไม่ทำงานและแสดงข้อผิดพลาด #REF

วิธีแก้ไข :

เพื่อหลีกเลี่ยงข้อผิดพลาด #REF ให้ตรวจสอบ col_index_num และใช้ตัวเลขที่อยู่ใน table_array .

อ่านเพิ่มเติม: VLOOKUP เพื่อส่งคืนหลายคอลัมน์ใน Excel (4 ตัวอย่าง)

4. VLOOKUP NAME Error

ให้ฉันแสดงให้คุณเห็นว่าเหตุใดจึงเกิดข้อผิดพลาด #NAME และคุณจะลบออกได้อย่างไร

4.1. สำหรับชื่อฟังก์ชันการสะกดผิด VLOOKUP ไม่ทำงาน

ข้อผิดพลาด #NAME มาจากการสะกดชื่อฟังก์ชันผิด

วิธีแก้ไข :

เพื่อหลีกเลี่ยงข้อผิดพลาด #NAME ให้ใช้เสมอ ชื่อฟังก์ชันที่เหมาะสมจากฟังก์ชันในตัวของ Excel

5. การใช้การจับคู่โดยประมาณ

หากคุณใช้ การจับคู่โดยประมาณ (TRUE) มีความเป็นไปได้ที่ #N/A ข้อผิดพลาดหรือ ไม่ถูกต้อง ผลลัพธ์

ฉันจะพยายามหา รหัสคำสั่งซื้อ โดยใช้ ผลไม้ เป็น lookup_value .

ดังนั้นฉันจึงใช้สูตรต่อไปนี้

=VLOOKUP(H4,B4:F12,2,TRUE)

แต่ที่นี่ ฉันให้ Lichi เป็น lookup_value และใช้ TRUE เป็น range_lookup VLOOKUP แสดง 1007 เป็น รหัสคำสั่งซื้อ ซึ่งไม่ถูกต้อง เนื่องจาก 1007 เป็น รหัสคำสั่งซื้อ ของ Cherry .

เนื่องจากฉันใช้การจับคู่โดยประมาณ ดังนั้นแทนที่จะแสดงข้อผิดพลาดจึงแสดงข้อมูลที่ไม่ถูกต้อง

วิธีแก้ไข :

ใช้ lookup_value อย่างระมัดระวัง แทนที่จะใช้ประเภท การจับคู่โดยประมาณ คุณสามารถใช้ประเภท การจับคู่แบบตรงทั้งหมด ฉันคิดว่าการได้รับข้อผิดพลาดนั้นดีกว่าการมีข้อมูลที่ทำให้เข้าใจผิด

คุณสามารถสรุปสูตรด้วย ฟังก์ชัน IFERROR เพื่อแสดงข้อความแสดงข้อผิดพลาดเมื่อ ไม่สามารถหาค่าภายในช่วงได้

6. การอ้างอิงตารางเป็นแบบสัมพัทธ์

หาก อาร์เรย์ตาราง ของคุณมีการอ้างอิงค่อนข้างมาก แสดงว่าคุณ อาจมีการแจ้งเตือนข้อผิดพลาดหรือข้อผิดพลาดขณะคัดลอกสูตรไปยัง ค้นหา อื่นๆค่า

วิธีแก้ไข :

เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ ให้ใช้การอ้างอิงแบบสัมบูรณ์

กดปุ่ม ปุ่ม F4 ในขณะที่เลือกการอ้างอิง มันจะแปลง การอ้างอิงแบบสัมพัทธ์ เป็น การอ้างอิงแบบสัมบูรณ์

ที่นี่ ฉันใช้สูตรต่อไปนี้

<9 =VLOOKUP(I4,C4:$F$12,2)

7. VLOOKUP ไม่ทำงาน สำหรับการแทรกคอลัมน์ใหม่

หากคุณแทรกคอลัมน์ใหม่ในชุดข้อมูลที่มีอยู่ ฟังก์ชัน VLOOKUP จะไม่ทำงาน col_index-num ใช้เพื่อส่งคืนข้อมูลเกี่ยวกับเรกคอร์ดในฟังก์ชัน VLOOKUP col_index-num ไม่คงทน ดังนั้นหากคุณใส่อันใหม่ VLOOKUP จะไม่ทำงาน

ที่นี่ คุณสามารถดู VLOOKUP ฟังก์ชันทำงานอย่างถูกต้อง

แต่ที่นี่ฉันได้แทรกคอลัมน์ใหม่หนึ่งคอลัมน์ นั่นคือเหตุผลว่าทำไมจึงแสดง 0 แทนที่จะแสดงผลลัพธ์ที่คาดไว้

วิธีแก้ไข :

⏩ เพื่อหลีกเลี่ยงปัญหาประเภทนี้ คุณสามารถป้องกันเวิร์กชีตเพื่อไม่ให้ใครก็ตามแทรกคอลัมน์ใหม่ได้ แต่ยังไม่เป็นมิตรพอ

⏩ อีกวิธีหนึ่งคือคุณสามารถใช้ฟังก์ชัน MATCH ภายในฟังก์ชัน VLOOKUP

ดังนั้น พิมพ์ข้อความต่อไปนี้ สูตร

=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)

ที่นี่ ใน ฟังก์ชัน VLOOKUP ฉันเลือกเซลล์ I4 เป็น lookup_value จากนั้นเลือกช่วง B4:G12 เป็น table_array และเป็น col_index_num ใช้แล้ว

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง