สารบัญ
ในบทช่วยสอนนี้ เราจะดูวิธีใช้ ISERROR กับ VLOOKUP ใน Excel เพื่อจัดการกับข้อผิดพลาดทุกประเภทอย่างมีประสิทธิภาพ
VLOOKUP เป็นหนึ่งในฟังก์ชัน Excel ที่สร้างความสับสนมากที่สุด ด้วยปัญหามากมาย ไม่ว่าคุณกำลังดูตารางใด ข้อผิดพลาด #N/A เป็นสิ่งที่พบได้ทั่วไป โดย #NAME และ #VALUE จะปรากฏขึ้นเป็นครั้งคราวเช่นกัน การใช้ VLOOKUP กับ ISERROR สามารถช่วยให้คุณตรวจจับข้อผิดพลาดที่เป็นไปได้ทั้งหมดและจัดการด้วยวิธีที่เหมาะสมที่สุดกับสถานการณ์ของคุณ
เหตุใด VLOOKUP จึงแสดงข้อผิดพลาด
มากที่สุด ข้อผิดพลาดทั่วไปในสูตร VLOOKUP คือ #N/A ที่เกิดขึ้นเมื่อไม่พบค่าการค้นหา ซึ่งอาจเกิดขึ้นได้เนื่องจากสาเหตุหลายประการ:
- ไม่มีค่าการค้นหาในอาร์เรย์การค้นหา
- ค่าการค้นหาสะกดผิด
- มีคำนำหน้าหรือ ช่องว่างต่อท้ายในค่าการค้นหาหรือคอลัมน์การค้นหา
- คอลัมน์การค้นหาไม่ใช่คอลัมน์ซ้ายสุดของอาร์เรย์ตาราง
นอกจากนี้ คุณสามารถเรียกใช้ #VALUE ! ผิดพลาด เช่น เมื่อค่าการค้นหามีอักขระมากกว่า 255 ตัว ในกรณีที่มีการสะกดชื่อฟังก์ชันผิดพลาด ข้อผิดพลาด #NAME? จะปรากฏขึ้น
สำหรับข้อมูลอ้างอิงทั้งหมด โปรดดูโพสต์ก่อนหน้าของเราเกี่ยวกับสาเหตุที่ Excel VLOOKUP ไม่ทำงาน
สูตร IF ISERROR VLOOKUP เพื่อแทนที่ข้อผิดพลาดด้วยข้อความที่กำหนดเอง
เพื่อปกปิดข้อผิดพลาดที่เป็นไปได้ทั้งหมดที่สามารถเรียกใช้โดย VLOOKUP คุณสามารถวางไว้ภายในสูตร IF ISERRORแบบนี้:
IF(ISERROR(VLOOKUP(…)), " text_if_error", VLOOKUP(…))ตามตัวอย่าง ลองดึงชื่อวิชาที่นักเรียนของ การทดสอบล้มเหลวของกลุ่ม A:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
ด้วยเหตุนี้ คุณจะได้รับข้อผิดพลาด #N/A จำนวนมาก ซึ่งอาจสร้างความรู้สึกว่าสูตรเสียหาย
ความจริงแล้ว ข้อผิดพลาดเหล่านี้บ่งชี้ว่าค่าการค้นหาบางค่า (A3:A14) ไม่พบในรายการค้นหา (D3:D9) ในการถ่ายทอดแนวคิดนั้นอย่างชัดเจน ให้ซ้อนสูตร VLOOKUP ของคุณในโครงสร้าง IF ISERROR:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
การดำเนินการนี้จะตรวจจับข้อผิดพลาดและส่งกลับข้อความที่คุณกำหนดเอง:
เคล็ดลับและหมายเหตุ:
- ข้อได้เปรียบหลักของสูตรนี้คือ ใช้งานได้ดีใน ทุกเวอร์ชัน ของ Excel 2000 จนถึง Excel 365 ในเวอร์ชันสมัยใหม่ จะง่ายกว่า และมีทางเลือกอื่นที่กะทัดรัดกว่านี้
- ฟังก์ชัน ISERROR จับ ข้อผิดพลาดทั้งหมดอย่างสมบูรณ์ เช่น #N/A, #NAME, #VALUE ฯลฯ ในกรณีที่คุณต้องการแสดงแบบกำหนดเอง ข้อความเฉพาะเมื่อไม่พบค่าการค้นหา (ข้อผิดพลาด #N/A) ให้ใช้ IF ISNA VLOOKUP (ในทุกรุ่น) หรือ IFNA VLOOKUP (ใน Excel 2013 และใหม่กว่า)
ISERROR VLOOKUP ถึง ส่งคืนเซลล์ว่างหากเกิดข้อผิดพลาด
หากต้องการมีเซลล์ว่างเมื่อเกิดข้อผิดพลาด รับสูตรของคุณเพื่อส่งคืนสตริงว่าง ("") แทนข้อความที่กำหนดเอง:
IF(ISERROR(VLOOKUP(...) ), "", VLOOKUP(...))ในกรณีของเรา สูตรจะอยู่ในรูปแบบนี้:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Theผลลัพธ์เป็นไปตามที่คาดไว้ - เซลล์ว่างหากไม่พบชื่อนักเรียนในตารางการค้นหา
เคล็ดลับ ในทำนองเดียวกัน คุณสามารถแทนที่ข้อผิดพลาด VLOOKUP ด้วยเลขศูนย์ ขีดกลาง หรืออักขระอื่นๆ ที่คุณต้องการ เพียงใช้อักขระที่ต้องการแทนสตริงว่าง
IF ISERROR VLOOKUP ใช่/ไม่ใช่ สูตร
ในบางสถานการณ์ คุณอาจกำลังมองหาบางอย่าง แต่แทนที่จะดึงรายการที่ตรงกันกลับต้องการส่งคืน ใช่ (หรือข้อความอื่นถ้า พบค่าการค้นหา) และ ไม่ใช่ (หากไม่พบค่าการค้นหา) เพื่อให้เสร็จสิ้น คุณสามารถใช้สูตรทั่วไปนี้:
IF(ISERROR(VLOOKUP(…)), " text_if_not_found ", " text_if_found ")ใน ชุดข้อมูลตัวอย่าง สมมติว่าคุณต้องการทราบว่านักเรียนคนไหนสอบตกและคนไหนสอบไม่ผ่าน เพื่อให้บรรลุตามนี้ ให้ใช้สูตร ISERROR VLOOKUP ที่คุ้นเคยอยู่แล้วในการทดสอบเชิงตรรกะของ IF และบอกให้ผลลัพธ์เป็น "ไม่" หากไม่พบค่า (ISERROR VLOOKUP ส่งคืนค่า TRUE), "ใช่" หากพบ (ISERROR VLOOKUP ส่งคืน FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", "Yes")
ทางเลือก ISERROR VLOOKUP
ชุดค่าผสม IF ISERROR เป็นเทคนิคที่เก่าแก่ที่สุดที่พิสูจน์แล้วว่าใช้ Vlookup โดยไม่มีข้อผิดพลาดใน Excel เมื่อเวลาผ่านไป ฟังก์ชันใหม่ๆ ก็พัฒนาขึ้น ทำให้มีวิธีการทำงานเดียวกันได้ง่ายขึ้น ด้านล่างนี้ เราจะหารือถึงวิธีแก้ปัญหาที่เป็นไปได้อื่นๆ และเมื่อใดที่เหมาะสมที่สุดที่จะใช้แต่ละวิธี
IFERROR VLOOKUP
มีให้ใช้งานใน Excel 2007 และสูงกว่า
ตั้งแต่เวอร์ชัน 2007 เป็นต้นมา Excel มีฟังก์ชันพิเศษชื่อ IFERROR เพื่อตรวจสอบสูตรเพื่อหาข้อผิดพลาดและส่งคืนข้อความของคุณเอง (หรือเรียกใช้สูตรอื่น) หากตรวจพบข้อผิดพลาดใดๆ
IFERROR(VLOOKUP(…), " text_if_error ")สูตรในชีวิตจริงมีดังนี้:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
เมื่อแรกเห็น ดูเหมือนว่าจะเป็นแอนะล็อกที่สั้นกว่าของสูตร IF ISERROR VLOOKUP อย่างไรก็ตาม มีความแตกต่างที่สำคัญ:
- IFERROR VLOOKUP จะถือว่าคุณต้องการผลลัพธ์ของ VLOOKUP เสมอหากไม่ใช่ข้อผิดพลาด
- IF ISERROR VLOOKUP ให้คุณระบุสิ่งที่จะ ส่งคืนหากมีข้อผิดพลาดและจะทำอย่างไรหากไม่มีข้อผิดพลาด
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่การใช้ IFERROR กับ VLOOKUP ใน Excel
IF ISNA VLOOKUP
ใช้งานได้ใน Excel 2000 และใหม่กว่า
ในสถานการณ์ที่คุณต้องการดักเฉพาะ #N/A โดยไม่ตรวจจับข้อผิดพลาดอื่นๆ ฟังก์ชัน ISNA มีประโยชน์ ไวยากรณ์เหมือนกับของ IF ISERROR VLOOKUP:
IF(ISNA(VLOOKUP(…)), " text_if_error ", VLOOKUP(…))แต่ในบางสถานการณ์ ดูเหมือนว่า สูตรที่เหมือนกันอาจให้ผลลัพธ์ที่แตกต่างกัน:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
ในภาพด้านล่าง เซลล์ A13 มีช่องว่างต่อท้ายจำนวนมาก เนื่องจากความยาวรวมของค่าการค้นหาเกิน 255 อักขระ ด้วยเหตุนี้ สูตรจึงทริกเกอร์ #VALUE! ข้อผิดพลาด ดึงความสนใจของคุณไปที่เซลล์นั้นและกระตุ้นให้ตรวจสอบสาเหตุ ISERRORVLOOKUP จะส่งกลับ "ไม่" ในกรณีนี้ ซึ่งจะบดบังปัญหาและให้ผลลัพธ์ที่ผิดอย่างแน่นอน
ควรใช้เมื่อใด:
สูตรนี้ ทำงานได้อย่างสวยงามในสถานการณ์ที่คุณต้องการแสดงข้อความบางส่วนเมื่อไม่พบค่าการค้นหาเท่านั้น และไม่ต้องการปกปิดปัญหาพื้นฐานด้วยสูตร VLOOKUP เอง เช่น เมื่อพิมพ์ชื่อของฟังก์ชันผิด (#NAME?) หรือไม่ได้ระบุเส้นทางแบบเต็มไปยังสมุดงานการค้นหา (#VALUE!)
สำหรับข้อมูลเพิ่มเติม โปรดดูฟังก์ชัน ISNA ใน Excel พร้อมตัวอย่างสูตร
IFNA VLOOKUP
พร้อมใช้งานใน Excel 2013 และสูงกว่า
เป็นการแทนที่ชุดค่าผสม IF ISNA ที่ทันสมัยซึ่งช่วยให้คุณจัดการกับข้อผิดพลาด #N/A ใน วิธีที่ง่ายกว่า
IFNA(VLOOKUP(…), " text_if_error ")ต่อไปนี้เป็นสูตรย่อเทียบเท่ากับสูตร IF ISNA VLOOKUP ของเรา:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
ควรใช้เมื่อใด:
เป็นทางออกที่ดีในการดักจับและจัดการกับข้อผิดพลาด #N/A ใน Excel เวอร์ชันใหม่ (2013 - 365)
สำหรับรายละเอียดทั้งหมด โปรดดูฟังก์ชัน IFNA ของ Excel
XLOOKUP
รองรับใน Excel 2021 และ Excel 365
เนื่องจากฟังก์ชัน "if error" ในตัว ฟังก์ชัน XLOOKUP เป็นวิธีที่ง่ายที่สุดในการค้นหาโดยไม่มีข้อผิดพลาด #N/A ใน Excel เพียงพิมพ์ข้อความที่เป็นมิตรต่อผู้ใช้ของคุณในอาร์กิวเมนต์ตัวเลือกที่ 4 ชื่อ if_not_found .
ตัวอย่างเช่น:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "No")
ข้อจำกัด: ตรวจพบเฉพาะข้อผิดพลาด #N/A โดยไม่สนใจประเภทอื่นๆ
สำหรับข้อมูลเพิ่มเติม โปรดดูฟังก์ชัน XLOOKUP ใน Excel
อย่างที่คุณเห็น Excel มีตัวเลือกต่างๆ มากมายในการแก้ไขข้อผิดพลาดของ VLOOKUP หวังว่าบทช่วยสอนนี้จะให้ความกระจ่างเกี่ยวกับวิธีการใช้งานอย่างมีประสิทธิภาพ ขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ดาวน์โหลดได้
ตัวอย่าง ISERROR พร้อม VLOOKUP (ไฟล์ .xlsx)