สารบัญ
บทช่วยสอนแสดงวิธีใช้ IFERROR ใน Excel เพื่อตรวจจับข้อผิดพลาดและแทนที่ด้วยเซลล์ว่าง ค่าอื่น หรือข้อความที่กำหนดเอง คุณจะได้เรียนรู้วิธีใช้ฟังก์ชัน IFERROR กับ Vlookup และ Index Match และวิธีเปรียบเทียบกับ IF ISERROR และ IFNA
"ให้ที่ยืนกับฉัน แล้วฉันจะขยับโลก" อาร์คิมีดีสเคยกล่าวไว้ว่า "ให้สูตรกับฉัน แล้วฉันจะให้มันกลับข้อผิดพลาด" ผู้ใช้ Excel จะพูด ในบทช่วยสอนนี้ เราจะไม่ดูวิธีส่งคืนข้อผิดพลาดใน Excel แต่เราเรียนรู้วิธีป้องกันเพื่อให้เวิร์กชีตของคุณสะอาดและสูตรของคุณโปร่งใส
ฟังก์ชัน IFERROR ของ Excel - ไวยากรณ์และการใช้งานพื้นฐาน
ฟังก์ชัน IFERROR ใน Excel ได้รับการออกแบบมาเพื่อดักจับและจัดการข้อผิดพลาดในสูตรและการคำนวณ โดยเฉพาะอย่างยิ่ง IFERROR ตรวจสอบสูตร และถ้าประเมินว่ามีข้อผิดพลาด จะส่งกลับค่าอื่นที่คุณระบุ มิฉะนั้น จะส่งคืนผลลัพธ์ของสูตร
ไวยากรณ์ของฟังก์ชัน IFERROR ของ Excel เป็นดังนี้:
IFERROR(value, value_if_error)ที่ไหน:
- ค่า (จำเป็น) - สิ่งที่ต้องตรวจสอบข้อผิดพลาด โดยอาจเป็นสูตร นิพจน์ ค่า หรือการอ้างอิงเซลล์
- Value_if_error (จำเป็น) - สิ่งที่จะส่งกลับหากพบข้อผิดพลาด โดยสามารถเป็นสตริงว่าง (เซลล์ว่าง) ข้อความตัวอักษร ค่าตัวเลข สูตรอื่นหรือการคำนวณ
ตัวอย่างเช่น เมื่อแบ่งตัวเลขสองคอลัมน์ คุณอาจได้รับข้อผิดพลาดต่างๆ มากมาย หากคอลัมน์ใดคอลัมน์หนึ่งมีเซลล์ว่าง เลขศูนย์ หรือข้อความ
เพื่อป้องกันไม่ให้เกิดขึ้น ให้ใช้ฟังก์ชัน IFERROR เพื่อตรวจจับและจัดการกับข้อผิดพลาด ในแบบที่คุณต้องการ
หากเกิดข้อผิดพลาด ให้เว้นว่างไว้
ระบุสตริงว่าง (") ให้กับอาร์กิวเมนต์ value_if_error เพื่อส่งคืนเซลล์ว่างหากพบข้อผิดพลาด:
=IFERROR(A2/B2, "")
หากเกิดข้อผิดพลาด ให้แสดงข้อความ
คุณยังสามารถแสดงข้อความของคุณเองแทนการแสดงข้อผิดพลาดมาตรฐานของ Excel:
=IFERROR(A2/B2, "Error in calculation")
5 สิ่งที่คุณควรทราบเกี่ยวกับฟังก์ชัน IFERROR ของ Excel
- ฟังก์ชัน IFERROR ใน Excel จัดการกับข้อผิดพลาดทุกประเภทรวมถึง # DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! และ #VALUE!.
- ขึ้นอยู่กับเนื้อหาของ value_if_error อาร์กิวเมนต์ IFERROR สามารถแทนที่ข้อผิดพลาดด้วยข้อความที่กำหนดเองของคุณ ตัวเลข วันที่หรือค่าตรรกะ ผลลัพธ์ของสูตรอื่น หรือสตริงว่าง (เซลล์ว่าง)
- ถ้าอาร์กิวเมนต์ ค่า เป็นเซลล์ว่าง จะถือว่าเป็น สตริงว่าง (''') แต่ไม่มีข้อผิดพลาด
- IFERROR ถูกนำมาใช้ใน Excel 2007 และพร้อมใช้งานใน Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 และ Excel 365
- ในการตรวจจับข้อผิดพลาดใน Excel 2003 และเวอร์ชันก่อนหน้า ให้ใช้ฟังก์ชัน ISERROR ร่วมกับ IF ดังที่แสดงในตัวอย่างนี้
ตัวอย่างสูตร IFERROR
ตัวอย่างต่อไปนี้แสดงวิธีใช้ IFERROR ใน Excel ร่วมกับฟังก์ชันอื่นๆ เพื่อทำงานที่ซับซ้อนให้สำเร็จ
Excel IFERROR ด้วย Vlookup
การใช้งานทั่วไปอย่างหนึ่งของฟังก์ชัน IFERROR คือการบอกผู้ใช้ว่า ค่าที่พวกเขากำลังค้นหาไม่มีอยู่ในชุดข้อมูล สำหรับสิ่งนี้ ให้คุณรวมสูตร VLOOKUP ใน IFERROR ดังนี้:
IFERROR(VLOOKUP( …),"ไม่พบ") หากค่าการค้นหาไม่อยู่ในตารางที่คุณกำลังค้นหา สูตร Vlookup ปกติจะส่งกลับข้อผิดพลาด #N/A:
เพื่อให้ผู้ใช้นึกถึง VLOOKUP ใน IFERROR และแสดงข้อมูลที่เป็นประโยชน์และเป็นมิตรกับผู้ใช้มากขึ้น ข้อความ:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
ภาพหน้าจอด้านล่างแสดงสูตร Iferror นี้ใน Excel:
หากคุณต้องการดักจับเฉพาะ #N /A ข้อผิดพลาดแต่ไม่ใช่ข้อผิดพลาดทั้งหมด ให้ใช้ฟังก์ชัน IFNA แทน IFERROR
สำหรับตัวอย่างสูตร Excel IFERROR VLOOKUP เพิ่มเติม โปรดดูบทช่วยสอนเหล่านี้:
- หากเกิดข้อผิดพลาดกับ Vlookup เพื่อดักจับ และจัดการข้อผิดพลาด
- วิธีรับค่าการค้นหาที่เกิดขึ้นครั้งที่ N
- วิธีรับค่าการค้นหาที่เกิดขึ้นทั้งหมด
ฟังก์ชัน IFERROR ที่ซ้อนกันเพื่อทำ Vlookups ตามลำดับใน Excel
ในสถานการณ์ที่คุณต้องการดำเนินการ Vlookup หลายรายการโดยพิจารณาว่า Vlookup ก่อนหน้าสำเร็จหรือล้มเหลว คุณสามารถซ้อน IFERROR สองรายการขึ้นไป ทำงานประสานกัน
สมมติว่าคุณมีรายงานการขายจำนวนหนึ่งจากสาขาภูมิภาคของคุณบริษัท และคุณต้องการรับจำนวนเงินสำหรับรหัสคำสั่งซื้อหนึ่งๆ ด้วย A2 เป็นค่าการค้นหาในแผ่นงานปัจจุบัน และ A2:B5 เป็นช่วงการค้นหาในแผ่นงานการค้นหา 3 แผ่น (รายงาน 1 รายงาน 2 และรายงาน 3) สูตรจะเป็นดังนี้:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),"not found")))
ผลลัพธ์จะมีลักษณะดังนี้:
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับตรรกะของสูตร โปรดดูวิธีทำ Vlookups ตามลำดับใน Excel
IFERROR ในสูตรอาร์เรย์
อย่างที่คุณอาจทราบ สูตรอาร์เรย์ใน Excel มีไว้สำหรับการคำนวณหลายรายการภายในสูตรเดียว หากคุณระบุสูตรอาร์เรย์หรือนิพจน์ที่ส่งผลให้เกิดอาร์เรย์ในอาร์กิวเมนต์ ค่า ของฟังก์ชัน IFERROR ระบบจะส่งคืนอาร์เรย์ของค่าสำหรับแต่ละเซลล์ในช่วงที่ระบุ ตัวอย่างด้านล่างแสดงรายละเอียด
สมมติว่า คุณมี ยอดรวม ในคอลัมน์ B และ ราคา ในคอลัมน์ C และคุณต้องการคำนวณ ปริมาณรวม . ซึ่งสามารถทำได้โดยใช้ สูตรอาร์เรย์ต่อไปนี้ ซึ่งแบ่งแต่ละเซลล์ในช่วง B2:B4 ด้วยเซลล์ที่สอดคล้องกันของช่วง C2:C4 แล้วรวมผลลัพธ์เข้าด้วยกัน:
=SUM($B$2:$B$4/$C$2:$C$4)
สูตรใช้ได้ดีตราบใดที่ช่วงตัวหารไม่มีศูนย์หรือเซลล์ว่าง ถ้ามีค่า 0 หรือเซลล์ว่างอย่างน้อยหนึ่งค่า #DIV/0! ข้อผิดพลาดถูกส่งกลับ:
ในการแก้ไขข้อผิดพลาดนั้น เพียงทำการหารภายในฟังก์ชัน IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
สูตรใช้ทำอะไรคือการหารค่าในคอลัมน์ B ด้วยค่าในคอลัมน์ C ในแต่ละแถว (100/2, 200/5 และ 0/0) และส่งกลับอาร์เรย์ของผลลัพธ์ {50; 40; #DIV/0!}. ฟังก์ชัน IFERROR จะจับ #DIV/0 ทั้งหมด! ข้อผิดพลาดและแทนที่ด้วยศูนย์ จากนั้น ฟังก์ชัน SUM จะเพิ่มค่าในอาร์เรย์ที่เป็นผลลัพธ์ {50; 40; 0} และแสดงผลลัพธ์สุดท้าย (50+40=90)
หมายเหตุ โปรดจำไว้ว่าสูตรอาร์เรย์ควรกรอกโดยกดปุ่มลัด Ctrl + Shift + Enter
IFERROR เทียบกับ IF ISERROR
ตอนนี้คุณทราบแล้วว่าการใช้ฟังก์ชัน IFERROR ใน Excel นั้นง่ายเพียงใด คุณอาจสงสัยว่าทำไมบางคนยังคงใช้ชุดค่าผสม IF ISERROR มีข้อได้เปรียบใด ๆ เมื่อเทียบกับ IFERROR หรือไม่? ไม่มี. ในสมัยก่อนที่เลวร้ายของ Excel 2003 และต่ำกว่าเมื่อ IFERROR ไม่มีอยู่ IF ISERROR เป็นวิธีเดียวที่เป็นไปได้ในการตรวจจับข้อผิดพลาด ใน Excel 2007 และใหม่กว่า เป็นวิธีที่ซับซ้อนขึ้นเล็กน้อยเพื่อให้ได้ผลลัพธ์เดียวกัน
ตัวอย่างเช่น หากต้องการตรวจจับข้อผิดพลาดของ Vlookup คุณสามารถใช้สูตรใดสูตรหนึ่งด้านล่าง
ใน Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( … ), "ไม่พบ") ใน Excel ทุกรุ่น:
IF(ISERROR(VLOOKUP(...)), "ไม่พบ ", VLOOKUP(...))สังเกตว่าในสูตร IF ISERROR VLOOKUP คุณต้อง Vlookup สองครั้ง ในภาษาอังกฤษธรรมดา สูตรสามารถอ่านได้ดังนี้: หากผลลัพธ์ Vlookup เป็นข้อผิดพลาด ให้ส่งคืน "ไม่พบ" มิฉะนั้น ให้แสดงผลผลลัพธ์ของ Vlookup
และนี่คือตัวอย่างชีวิตของสูตร Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การใช้ฟังก์ชัน ISERROR ใน Excel
IFERROR เทียบกับ IFNA
นำมาใช้กับ Excel 2013, IFNA เป็นอีกฟังก์ชันหนึ่งในการตรวจสอบสูตรเพื่อหาข้อผิดพลาด ไวยากรณ์คล้ายกับ IFERROR:
IFNA(value, value_if_na)IFNA แตกต่างจาก IFERROR อย่างไร ฟังก์ชัน IFNA จับ เฉพาะข้อผิดพลาด #N/A เท่านั้น ในขณะที่ IFERROR จัดการกับข้อผิดพลาดทุกประเภท
ในสถานการณ์ใดที่คุณอาจต้องการใช้ IFNA เมื่อไม่ฉลาดที่จะปกปิดข้อผิดพลาดทั้งหมด ตัวอย่างเช่น เมื่อทำงานกับข้อมูลสำคัญหรือละเอียดอ่อน คุณอาจต้องการรับการแจ้งเตือนเกี่ยวกับข้อผิดพลาดที่อาจเกิดขึ้นในชุดข้อมูลของคุณ และข้อความแสดงข้อผิดพลาดมาตรฐานของ Excel ที่มีสัญลักษณ์ "#" อาจเป็นตัวบ่งชี้ที่มองเห็นได้ชัดเจน
มาดูกัน วิธีสร้างสูตรที่แสดงข้อความ "ไม่พบ" แทนข้อผิดพลาด N/A ซึ่งปรากฏขึ้นเมื่อค่าการค้นหาไม่มีอยู่ในชุดข้อมูล แต่นำข้อผิดพลาด Excel อื่นๆ มาให้คุณทราบ
สมมติว่าคุณต้องการดึงจำนวน จากตารางค้นหาไปยังตารางสรุปดังภาพหน้าจอด้านล่าง การใช้สูตร Excel Iferror Vlookup จะทำให้ได้ผลลัพธ์ที่สวยงาม ซึ่งไม่ถูกต้องทางเทคนิค เนื่องจาก มะนาว มีอยู่ในตารางการค้นหา:
หากต้องการจับ # ไม่มี แต่แสดงข้อผิดพลาด #DIV/0 ให้ใช้ฟังก์ชัน IFNA ใน Excel 2013 และ Excel2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
หรือชุดค่าผสม IF ISNA ใน Excel 2010 และเวอร์ชันก่อนหน้า:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
ไวยากรณ์ของ IFNA VLOOKUP และ IF ISNA สูตร VLOOKUP คล้ายกับสูตร IFERROR VLOOKUP และ IF ISERROR VLOOKUP ที่กล่าวถึงก่อนหน้านี้
ดังที่แสดงในภาพหน้าจอด้านล่าง สูตร Ifna Vlookup จะส่งกลับ "ไม่พบ" เฉพาะสำหรับรายการที่ไม่มีอยู่ในตารางการค้นหา ( พีช ). สำหรับ มะนาว จะแสดง #DIV/0! แสดงว่าตารางการค้นหาของเรามีข้อผิดพลาดในการหารด้วยศูนย์:
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่การใช้ฟังก์ชัน IFNA ใน Excel
แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ IFERROR ใน Excel
ถึงตอนนี้ คุณทราบแล้วว่าฟังก์ชัน IFERROR เป็นวิธีที่ง่ายที่สุดในการตรวจจับข้อผิดพลาดใน Excel และปิดบังข้อผิดพลาดเหล่านั้นด้วยเซลล์ว่าง ค่าศูนย์ หรือข้อความที่คุณกำหนดเอง อย่างไรก็ตาม นั่นไม่ได้หมายความว่าคุณควรรวมทุกสูตรด้วยการจัดการข้อผิดพลาด คำแนะนำง่ายๆ ต่อไปนี้อาจช่วยให้คุณรักษาสมดุลได้
- อย่าดักจับข้อผิดพลาดโดยไม่มีเหตุผล
- รวมส่วนที่เล็กที่สุดของสูตรใน IFERROR
- ในการจัดการเฉพาะข้อผิดพลาด ให้ใช้ฟังก์ชันการจัดการข้อผิดพลาดที่มีขอบเขตที่เล็กกว่า:
- IFNA หรือ IF ISNA เพื่อตรวจจับเฉพาะข้อผิดพลาด #N/A
- ISERR เพื่อตรวจจับข้อผิดพลาดทั้งหมด ยกเว้น #N/A
นี่คือวิธีที่คุณใช้ฟังก์ชัน IFERROR ใน Excel เพื่อดักจับและจัดการกับข้อผิดพลาด หากต้องการดูสูตรที่กล่าวถึงในเรื่องนี้อย่างละเอียดยิ่งขึ้นบทช่วยสอน คุณสามารถดาวน์โหลดสมุดงาน IFERROR Excel ตัวอย่างของเราได้ ฉันขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า