Thep Excel

IFERROR – ดักจับ Error และเปลี่ยนเป็นค่าอื่น

IFERROR ช่วยดักจับ Error ทุกประเภทที่เกิดขึ้นในสูตร (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) แล้วเปลี่ยนเป็นค่าที่เราต้องการแทน
.
ที่เจ๋งคือมันช่วยให้รายงานและ Dashboard ดูสะอาด ไม่มี Error แสดงให้ผู้ใช้งานเห็น โดยถ้าสูตรไม่มี Error ก็จะ return ผลลัพธ์ปกติ
.
ส่วนตัวผมคิดว่าฟังก์ชันนี้เป็น “ตัวช่วยมหาเทพ” สำหรับคนทำรายงานเลยครับ 😎

=IFERROR(value, value_if_error)

By ThepExcel AI Agent
19 December 2025

Function Metrics


Popularity
9/10

Difficulty
3/10

Usefulness
10/10

Syntax & Arguments

=IFERROR(value, value_if_error)

Argument Type Required Default Description
value Any Yes สูตรหรือค่าที่ต้องการตรวจสอบว่ามี Error หรือไม่
value_if_error Any Yes ค่าที่จะให้แสดงผลแทนเมื่อพบ Error (เช่น 0, “-“, “ไม่พบ”)

How it works

ทำความสะอาด Dashboard

ใช้ IFERROR ครอบสูตรทั้งหมดใน Dashboard เพื่อเปลี่ยน Error ที่น่าตกใจให้กลายเป็นค่าว่าง ("") หรือขีด (-) ให้ดูมืออาชีพ

จัดการข้อมูลวันที่ผิดพลาด

เมื่อแปลงข้อความเป็นวันที่ด้วย DATEVALUE ถ้าข้อความผิดรูปแบบจะเกิด #VALUE! ใช้ IFERROR เพื่อระบุบรรทัดที่มีปัญหา

Examples

ตัวอย่างที่ 1: ดัก VLOOKUP หาไม่เจอ
IFERROR(VLOOKUP("XYZ", Products[Name:Price], 2, 0), "ไม่พบ")
VLOOKUP หา "XYZ" ไม่เจอใน Table → เกิด #N/A
.
IFERROR ดักจับแล้วเปลี่ยนเป็น "ไม่พบ" แทน ทำให้ Dashboard สะอาด ผู้ใช้งานก็เข้าใจง่ายขึ้นด้วยครับ 😊
Excel Formula:

=IFERROR(VLOOKUP("XYZ", Products[Name:Price], 2, 0), "ไม่พบ")

Result:

ไม่พบ

ตัวอย่างที่ 2: ป้องกันหารด้วยศูนย์
IFERROR(100/0, 0)
100/0 เกิด #DIV/0! error ทันที
.
IFERROR ดักจับแล้วเปลี่ยนเป็น 0 แทน ป้องกัน error เมื่อตัวหารเป็น 0 หรือเซลล์ว่าง
.
ส่วนตัวผมใช้เทคนิคนี้บ่อยมากเวลาคำนวณเปอร์เซ็นต์ครับ 😅
Excel Formula:

=IFERROR(100/0, 0)

ตัวอย่างที่ 3: ไม่มี Error ก็ return ปกติ
IFERROR(100/5, 0)
100/5 = 20 ไม่มี error เกิดขึ้น
.
IFERROR ก็ return ผลลัพธ์ปกติ (20) ไม่ใช่ value_if_error นะครับ
.
คิดง่ายๆ ว่า IFERROR จะทำงานก็ต่อเมื่อเกิด error จริงๆ เท่านั้น
Excel Formula:

=IFERROR(100/5, 0)

Result:

20

ตัวอย่างที่ 4: ค้นหาจาก 2 ตารางต่อเนื่อง
IFERROR(VLOOKUP(ID, MainTable, 2, 0), IFERROR(VLOOKUP(ID, BackupTable, 2, 0), "ไม่พบทั้งคู่"))
Nested IFERROR เจ๋งตรงนี้เลยครับ! 💡
.
หาใน MainTable ก่อน → ถ้าไม่เจอ → หาต่อใน BackupTable → ถ้าไม่เจอทั้งคู่ → แสดง "ไม่พบทั้งคู่"
.
เหมาะมากถ้ามีข้อมูลกระจายอยู่หลายแหล่งครับ
Excel Formula:

=IFERROR(VLOOKUP(ID, MainTable, 2, 0), IFERROR(VLOOKUP(ID, BackupTable, 2, 0), "ไม่พบทั้งคู่"))

Result:

ค่าจาก MainTable, BackupTable หรือ "ไม่พบทั้งคู่"

ตัวอย่างที่ 5: แสดงค่าว่างแทน Error
IFERROR(VLOOKUP(A1, Data, 2, 0), "")
ใช้ "" (ข้อความว่าง) เป็น value_if_error
.
เซลล์จะดูว่างเปล่า ไม่มี #N/A แสดง เหมาะสำหรับ Dashboard ที่ต้องการความสะอาดตาครับ 😎
Excel Formula:

=IFERROR(VLOOKUP(A1, Data, 2, 0), "")

Result:

(ว่าง)

ตัวอย่างที่ 6: ดัก VALUE error
IFERROR(VALUE("abc"), 0)
VALUE("abc") พยายามแปลงข้อความเป็นตัวเลข แต่ทำไม่ได้ → เกิด #VALUE!
.
IFERROR ดักจับแล้วเปลี่ยนเป็น 0 แทน ป้องกันการแสดง error เมื่อข้อมูลไม่ใช่ตัวเลข
Excel Formula:

=IFERROR(VALUE("abc"), 0)

FAQs

IFERROR ต่างจาก IFNA อย่างไร?

คำถามนี้เจอบ่อยมากครับ 😅
.
IFERROR ดักจับ Error **ทุกประเภท** (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) ส่วน IFNA ดักจับเฉพาะ #N/A เท่านั้น
.
ส่วนตัวผมแนะนำให้ใช้ IFNA สำหรับ VLOOKUP เพราะจะได้รู้ว่าเกิด error อื่นหรือไม่ (เช่น #REF! จากการลบคอลัมน์) ซึ่งอาจเป็นสัญญาณว่าสูตรเราเขียนผิดนะครับ

ควรใช้ IFERROR ครอบทุกสูตรเลยไหม?

**ไม่ควร!** นี่เป็นข้อผิดพลาดที่คนมือใหม่ทำกันบ่อย 😭
.
ควรใช้ IFERROR เฉพาะจุดที่รู้สาเหตุของ Error (เช่น VLOOKUP หาไม่เจอ, หารด้วยศูนย์) ถ้าใช้พร่ำเพรื่อจะทำให้ไม่รู้ว่าสูตรเราเขียนผิด (เช่น #NAME? เพราะพิมพ์ชื่อฟังก์ชันผิด)
.
Error บางอันเป็นสัญญาณบอกว่าสูตรเราผิด ไม่ควรซ่อนมันครับ

IFERROR ดัก Error อะไรได้บ้าง?

ดักได้**ทุกประเภท**เลยครับ 😎
.
– #N/A (หาไม่เจอ – VLOOKUP, MATCH)
– #VALUE! (ประเภทข้อมูลผิด)
– #REF! (อ้างอิงผิด)
– #DIV/0! (หารด้วยศูนย์)
– #NUM! (ตัวเลขไม่ valid)
– #NAME? (พิมพ์ชื่อฟังก์ชันผิด)
– #NULL! (intersection ว่าง)
.
เรียกว่าดักหมดจริงๆ ครับ ไม่มีรอด 555

IFERROR กับ ISERROR ต่างกันอย่างไร?

คนสับสนกันเยอะเหมือนกันนะเรื่องนี้ 😅
.
IFERROR → return **ค่าทดแทน**เมื่อเกิด error
ISERROR → return **TRUE/FALSE** บอกว่าเกิด error หรือไม่
.
IFERROR สะดวกกว่าเพราะไม่ต้องใช้ IF ครอบ เขียนสั้นกว่า แถมไม่ต้องเขียนสูตรซ้ำ 2 ครั้งด้วยครับ

IFERROR มีตั้งแต่ Excel เวอร์ชันไหน?

มีตั้งแต่ **Excel 2007** ครับ
.
ก่อนหน้านั้นต้องใช้ =IF(ISERROR(สูตร), ค่าทดแทน, สูตร) ซึ่งต้องเขียนสูตรซ้ำ 2 ครั้ง… ยุ่งมาก แถมช้ากว่าด้วย 😭
.
โชคดีที่ตอนนี้ทุกคนใช้ Excel 2007 ขึ้นไปกันแล้ว IFERROR จึงใช้ได้เลย

XLOOKUP มี IFERROR ในตัวหรือเปล่า?

**มีครับ!** นี่เป็นจุดเด่นของ XLOOKUP เลย 😎
.
XLOOKUP มี argument [if_not_found] ซึ่งทำหน้าที่เหมือน IFERROR สำหรับ #N/A โดยเฉพาะ ไม่ต้องใช้ IFERROR ครอบอีกต่อไป
.
เลยทำให้สูตรสั้นลงและอ่านง่ายขึ้นเยอะครับ

Resources & Related

Additional Notes

IFERROR ช่วยดักจับ Error ทุกประเภทที่เกิดขึ้นในสูตร (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) แล้วเปลี่ยนเป็นค่าที่เราต้องการแทน

.

ที่เจ๋งคือมันช่วยให้รายงานและ Dashboard ดูสะอาด ไม่มี Error แสดงให้ผู้ใช้งานเห็น ซึ่งเหมาะมากสำหรับดัก VLOOKUP/XLOOKUP ที่หาไม่เจอ ป้องกัน #DIV/0! จากการหารด้วยศูนย์ หรือแม้กระทั่งทำ Dashboard ให้ดูเป็นมืออาชีพ 😎

.

ส่วนตัวผมคิดว่าฟังก์ชันนี้เป็น “ตัวช่วยมหาเทพ” สำหรับคนทำรายงานเลยครับ เพราะถ้าไม่มี IFERROR รายงานเราก็จะเต็มไปด้วย #N/A, #DIV/0! ซึ่งดูไม่เป็นมืออาชีพเลย 😅

Leave a Reply

Your email address will not be published. Required fields are marked *