ฟังก์ชัน ISERROR ใน Excel พร้อมตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

บทช่วยสอนจะพิจารณาถึงการใช้งานจริงของฟังก์ชัน Excel ISERROR และแสดงวิธีทดสอบสูตรต่างๆ เพื่อหาข้อผิดพลาด

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

    ฟังก์ชัน ISERROR ใน Excel

    ฟังก์ชัน ISERROR ของ Excel จะตรวจจับข้อผิดพลาดทุกประเภท รวมถึง #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! และ #SPILL! ผลลัพธ์คือค่าบูลีน: TRUE หากตรวจพบข้อผิดพลาด หากตรวจพบข้อผิดพลาด จะเป็น FALSE

    ฟังก์ชันนี้พร้อมใช้งานใน Excel 2000 ถึง 2021 และ Excel 365 ทุกรุ่น

    ไวยากรณ์ของ ISERROR ฟังก์ชันง่ายๆ ดังนี้:

    ISERROR(value)

    โดยที่ value คือค่าของเซลล์หรือสูตรที่จะตรวจสอบหาข้อผิดพลาด

    สูตร Excel ISERROR

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

    =ISERROR(A2)

    ในกรณีที่พบข้อผิดพลาด คุณจะได้รับ TRUE หากไม่มีข้อผิดพลาดในเซลล์ที่ทดสอบ คุณจะได้รับ FALSE:

    สูตร ISERROR ใน Excel

    หากต้องการส่งคืนข้อความที่กำหนดเองหรือดำเนินการ การคำนวณที่แตกต่างกันเมื่อเกิดข้อผิดพลาด ให้ใช้ ISERROR ร่วมกับฟังก์ชัน IF สูตรทั่วไปมีลักษณะดังนี้:

    IF(ISERROR( formula(…), text_or_calculation_if_error, formula())

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

    ในภาพด้านล่าง การหารผลรวมด้วยปริมาณทำให้เกิดข้อผิดพลาดสองสามครั้งใน ราคา คอลัมน์:

    หากต้องการแทนที่รหัสข้อผิดพลาดต่างๆ ทั้งหมดด้วยข้อความที่กำหนดเอง คุณสามารถใช้สูตร IF ISERROR ต่อไปนี้:

    =IF(ISERROR(A2/B2), "Unknown", A2/B2)

    ใน Excel 2007 และเวอร์ชันที่ใหม่กว่า ผลลัพธ์เดียวกันสามารถทำได้โดยใช้ฟังก์ชัน IFERROR ในตัว:

    =IFERROR(A2/B2, "Unknown")

    ควรเป็น โปรดทราบว่าสูตร IFERROR ทำงานเร็วกว่าเล็กน้อยเนื่องจากทำการคำนวณ A2/B2 เพียงครั้งเดียว ในขณะที่ IF ISERROR คำนวณสองครั้ง - อันดับแรกเพื่อดูว่าเกิดข้อผิดพลาดหรือไม่และจากนั้นอีกครั้งหากการทดสอบเป็นเท็จ

    สูตร IF ISERROR VLOOKUP

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

    IF(ISERROR(VLOOKUP(…)), " custom_text", VLOOKUP(…))

    สำหรับตัวอย่างนี้ ลองดึงเวลาจากตารางค้นหา (D3:E10) ไปยังตารางหลัก (A3:B15) หากไม่มีค่าการค้นหา (ชื่อผู้เข้าร่วม) ในตารางการค้นหา เราจะส่งคืน "ไม่ผ่านการรับรอง"

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))

    เคล็ดลับ หากคุณต้องการแสดงข้อความที่กำหนดเองเฉพาะเมื่อ ไม่พบค่าการค้นหา (ข้อผิดพลาด #N/A) โดยไม่สนใจข้อผิดพลาดอื่นๆ ให้ใช้สูตร IFNA VLOOKUP ใน Excel 2013 และใหม่กว่า หรือ IF ISNA VLOOKUP ในเวอร์ชันเก่ากว่า รุ่น

    สูตร ISERROR INDEX MATCH

    เมื่อทำการค้นหาด้วยความช่วยเหลือของชุดค่าผสม INDEX MATCH (หรือสูตร INDEX XMATCH ใน Excel 365) คุณสามารถดักจับและจัดการข้อผิดพลาดใดๆ ที่เป็นไปได้โดยใช้เทคนิคเดียวกัน - ฟังก์ชัน ISERROR จะตรวจสอบข้อผิดพลาดและ IF จะแสดงข้อความที่ระบุเมื่อมีข้อผิดพลาดเกิดขึ้น

    IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))), " custom_text ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))

    สมมติว่าตารางการค้นหามีเวลาในคอลัมน์แรก เนื่องจาก VLOOKUP ไม่สามารถมองไปทางซ้ายได้ เราจึงใช้สูตร INDEX MATCH เพื่อดึงเวลาจากคอลัมน์ D:

    =INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))

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

    =IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))

    หมายเหตุ เช่นเดียวกับสูตร IF ISERROR VLOOKUP จะดีกว่าที่จะดักจับเฉพาะข้อผิดพลาด #N/A และไม่ปกปิดปัญหาที่อาจเกิดขึ้นด้วยตัวสูตรเอง ในการทำเช่นนี้ ให้รวมสูตร INDEX MATH ของคุณใน IFNA ใน Excel 2013 และสูงกว่าหรือ IF ISNA ในเวอร์ชันก่อนหน้า

    หากISERROR ใช่/ไม่ใช่ สูตร

    ในตัวอย่างก่อนหน้านี้ IF ISERROR ส่งคืนผลลัพธ์ของสูตรหลัก หากไม่ใช่ข้อผิดพลาด อย่างไรก็ตาม ยังสามารถทำงานได้ในลักษณะอื่น - ส่งคืนบางอย่างหากมีข้อผิดพลาด และอย่างอื่นหากไม่มีข้อผิดพลาด

    IF(ISERROR( formula (…)), " text_if_error " , " text_if_no_error ")

    ในชุดข้อมูลตัวอย่างของเรา สมมติว่าคุณไม่สนใจเวลาที่แน่นอน คุณแค่ต้องการทราบว่าผู้เข้าร่วมกลุ่ม A คนไหนมีคุณสมบัติและกลุ่มใดไม่ผ่านเกณฑ์ ในการดำเนินการนี้ ให้ใช้ฟังก์ชัน MATCH เพื่อเปรียบเทียบชื่อในคอลัมน์ A กับรายชื่อผู้เข้าร่วมที่มีคุณสมบัติในคอลัมน์ D แล้วส่งผลลัพธ์ไปยัง ISERROR หากไม่มีชื่อในคอลัมน์ D (MATCH ส่งกลับข้อผิดพลาด) รับฟังก์ชัน IF เพื่อแสดง "ไม่" หรือ "ไม่ผ่านเกณฑ์" ถ้าชื่อปรากฏในคอลัมน์ D (ไม่มีข้อผิดพลาด) ให้ส่งคืน "ใช่" หรือ "ผ่านเกณฑ์"

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )

    วิธีนับจำนวนข้อผิดพลาด

    หากต้องการทราบจำนวนข้อผิดพลาดในคอลัมน์ใดคอลัมน์หนึ่ง คุณต้องตรวจสอบช่วง ไม่ใช่แค่เซลล์เดียว สำหรับสิ่งนี้ ให้ "ป้อน" ช่วงเป้าหมายไปยัง ISERROR และบังคับให้ค่าบูลีนที่ส่งคืนเป็น 1 และ 0 โดยใช้ตัวดำเนินการเอกฐานคู่ (--) ฟังก์ชัน SUM หรือ SUMPRODUCT สามารถเพิ่มตัวเลขและส่งผลลัพธ์สุดท้ายได้

    ตัวอย่างเช่น:

    =SUM(--ISERROR(C2:C10))

    โปรดทราบว่าวิธีนี้ใช้ได้เป็นสูตรปกติใน Excel เท่านั้น 365 และ Excel 2021 ซึ่งรองรับอาร์เรย์แบบไดนามิก ใน Excel 2019 และรุ่นก่อนหน้า คุณต้องกด Ctrl + Shift + Enter เพื่อสร้างสูตรอาร์เรย์ (อย่าพิมพ์วงเล็บปีกกาเอง มันจะไม่ทำงาน!):

    {=SUM(--ISERROR(C2:C10))}

    หรืออีกวิธีหนึ่ง คุณสามารถใช้ SUMPRODUCT ฟังก์ชันที่จัดการอาร์เรย์แบบเนทีฟ ดังนั้นสูตรจึงสมบูรณ์ได้ด้วยปุ่ม Enter ตามปกติในทุกรุ่น:

    =SUMPRODUCT(--ISERROR(C2:C10))

    ความแตกต่างระหว่าง ISERROR และ IFERROR ใน Excel

    ทั้งฟังก์ชัน ISERROR และ IFERROR ใช้เพื่อดักจับและจัดการกับข้อผิดพลาดใน Excel ความแตกต่างมีดังนี้:

    • ในรูปแบบบริสุทธิ์ ISERROR จะทดสอบว่าค่าดังกล่าวมีข้อผิดพลาดหรือไม่ ซึ่งพร้อมใช้งานใน Excel ทุกรุ่น
    • ฟังก์ชัน IFERROR ออกแบบมาเพื่อระงับหรือซ่อนข้อผิดพลาด - เมื่อพบข้อผิดพลาด ฟังก์ชันจะส่งกลับค่าอื่นที่คุณระบุ มีให้ใช้งานใน Excel 2007 และสูงกว่า

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

    • IFERROR อนุญาตให้คุณระบุเฉพาะ value_if_error หากไม่มีข้อผิดพลาด ระบบจะส่งคืนผลลัพธ์ของค่า/สูตรที่ทดสอบเสมอ
    • IF ISERROR ให้ความยืดหยุ่นมากขึ้นและให้คุณจัดการกับทั้งสองสถานการณ์ - จะเกิดอะไรขึ้นหากเกิดข้อผิดพลาดและจะเกิดอะไรขึ้นหากไม่มีข้อผิดพลาด<18

    เพื่อให้เข้าใจประเด็นได้ดีขึ้น ให้พิจารณาสูตรเหล่านี้:

    =IFERROR(A1, "Calculation error")

    =IF(ISERROR(A1), "Calculation error", A1)

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

    แต่ถ้าคุณต้องการทำการคำนวณบางอย่าง หากค่าใน A1 ไม่ใช่ข้อผิดพลาด ฟังก์ชัน IFERROR ไม่สามารถทำเช่นนั้นได้ ในกรณีของ IF ISERROR เพียงพิมพ์การคำนวณที่ต้องการในอาร์กิวเมนต์สุดท้าย ตัวอย่างเช่น:

    =IF(ISERROR(A1), "Calculation error", A1*2)

    อย่างที่คุณเห็น รูปแบบที่ยาวกว่านี้ของสูตร IFERROR ซึ่งมักถือว่าล้าสมัย ยังคงมีประโยชน์ :)

    ดาวน์โหลดได้

    ตัวอย่างสูตร ISERROR (ไฟล์ .xlsx)

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