Thep Excel

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

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

fx
=IFERROR(value, value_if_error)

ความนิยม9/10
ความยาก3/10
ประโยชน์10/10

อัปเดต 19 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
value Any สูตรหรือค่าที่ต้องการตรวจสอบว่ามี Error หรือไม่
value_if_error Any ค่าที่จะให้แสดงผลแทนเมื่อพบ Error (เช่น 0, “-“, “ไม่พบ”)

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! ซึ่งดูไม่เป็นมืออาชีพเลย 😅

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 สะอาด ผู้ใช้งานก็เข้าใจง่ายขึ้นด้วยครับ 😊

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

ผลลัพธ์ไม่พบ
ตัวอย่างที่ 2: ป้องกันหารด้วยศูนย์IFERROR(100/0, 0)

100/0 เกิด #DIV/0! error ทันที

IFERROR ดักจับแล้วเปลี่ยนเป็น 0 แทน ป้องกัน error เมื่อตัวหารเป็น 0 หรือเซลล์ว่าง

ส่วนตัวผมใช้เทคนิคนี้บ่อยมากเวลาคำนวณเปอร์เซ็นต์ครับ 😅

fx
=IFERROR(100/0, 0)

ตัวอย่างที่ 3: ไม่มี Error ก็ return ปกติIFERROR(100/5, 0)

100/5 = 20 ไม่มี error เกิดขึ้น

IFERROR ก็ return ผลลัพธ์ปกติ (20) ไม่ใช่ value_if_error นะครับ

คิดง่ายๆ ว่า IFERROR จะทำงานก็ต่อเมื่อเกิด error จริงๆ เท่านั้น

fx
=IFERROR(100/5, 0)

ผลลัพธ์20
ตัวอย่างที่ 4: ค้นหาจาก 2 ตารางต่อเนื่องIFERROR(VLOOKUP(ID, MainTable, 2, 0), IFERROR(VLOOKUP(ID, BackupTable, 2, 0), "ไม่พบทั้งคู่"))

Nested IFERROR เจ๋งตรงนี้เลยครับ! 💡

หาใน MainTable ก่อน → ถ้าไม่เจอ → หาต่อใน BackupTable → ถ้าไม่เจอทั้งคู่ → แสดง "ไม่พบทั้งคู่"

เหมาะมากถ้ามีข้อมูลกระจายอยู่หลายแหล่งครับ

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

ผลลัพธ์ค่าจาก MainTable, BackupTable หรือ "ไม่พบทั้งคู่"
ตัวอย่างที่ 5: แสดงค่าว่างแทน ErrorIFERROR(VLOOKUP(A1, Data, 2, 0), "")

ใช้ "" (ข้อความว่าง) เป็น value_if_error

เซลล์จะดูว่างเปล่า ไม่มี #N/A แสดง เหมาะสำหรับ Dashboard ที่ต้องการความสะอาดตาครับ 😎

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

ผลลัพธ์(ว่าง)
ตัวอย่างที่ 6: ดัก VALUE errorIFERROR(VALUE("abc"), 0)

VALUE("abc") พยายามแปลงข้อความเป็นตัวเลข แต่ทำไม่ได้ → เกิด #VALUE!

IFERROR ดักจับแล้วเปลี่ยนเป็น 0 แทน ป้องกันการแสดง error เมื่อข้อมูลไม่ใช่ตัวเลข

fx
=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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ IFERROR จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้IFERRORLogical
Logical (7)
FALSE

FALSE คืนค่าตรรกะ Boolean FALSE โดยตรง ซึ่งมีค่าเท่ากับ 0 ในการคำนวณทางคณิตศาสตร์
.
ที่เจ๋งคือทำให้สามารถนำไปใช้กับฟังก์ชันคำนวณได้โดยตรงโดยไม่ต้องแปลง มักใช้ร่วมกับ IF AND OR NOT และ IFERROR เพื่อควบคุม logic ของสูตรเงื่อนไข
.
ใน Excel คุณสามารถพิมพ์ FALSE โดยตรง (ไม่มีวงเล็บ) หรือเรียกเป็นฟังก์ชัน FALSE() ก็ได้ ผลลัพธ์เหมือนกันทุกประการ

IF

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

IFNA

IFNA เป็นฟังก์ชันที่ช่วยจัดการ #N/A errors โดยแทนค่าเป็นข้อความหรือค่าอื่นที่คุณกำหนด เหมาะสำหรับการค้นหาข้อมูลที่อาจไม่พบผลลัพธ์

IFS

IFS ทดสอบหลายเงื่อนไขตามลำดับที่กำหนด และคืนค่าของเงื่อนไขแรกที่เป็น TRUE แล้วหยุดทำงานทันที โครงสร้างเป็นคู่ (เงื่อนไข, ผลลัพธ์) ซ้ำได้สูงสุด 127 คู่ ทำให้อ่านและเขียนง่ายกว่า Nested IF แบบซ้อนชั้น ควรใส่ TRUE เป็นเงื่อนไขสุดท้ายเพื่อกำหนดค่า default ป้องกัน #N/A error มีตั้งแต่ Excel 2019 และ Microsoft 365 เท่านั้น

LET

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

MAKEARRAY

MAKEARRAY สร้าง Dynamic Array ตามขนาดที่กำหนด (rows × cols) โดยใช้ LAMBDA function คำนวณค่าในแต่ละเซลล์ตามตำแหน่ง row และ column index (เริ่มที่ 1) ต่างจาก SEQUENCE ที่สร้างเฉพาะตัวเลขเรียงลำดับ MAKEARRAY สามารถสร้างข้อมูลได้หลากหลายรูปแบบตามการคำนวณที่กำหนดใน LAMBDA เช่น ตารางสูตรคูณ matrix ทางคณิตศาสตร์ pattern ข้อความ หรือค่าสุ่ม เหมาะสำหรับสร้าง dataset ขนาดใหญ่ที่มีรูปแบบเฉพาะ หรือ lookup table แบบ dynamic โดย LAMBDA จะถูกเรียกทำงานสำหรับทุกเซลล์ใน array ผลลัพธ์ ทำให้สร้างข้อมูลจำนวนมากได้อย่างรวดเร็วด้วยสูตรเดียว

SWITCH

SWITCH ประเมินนิพจน์หรือค่าหนึ่งค่า แล้วเปรียบเทียบกับรายการค่าที่กำหนดตามลำดับ เมื่อพบค่าที่ตรงกันจะส่งคืนผลลัพธ์ที่เชื่อมโยงทันที หากไม่ตรงกับค่าใดเลยสามารถกำหนด default value ได้ เหมาะสำหรับแทนที่ nested IF หลายชั้นด้วยไวยากรณ์ที่อ่านง่ายกว่ามาก

Information (3)
ISERROR

ISERROR ตรวจสอบค่าว่าเป็น Error หรือไม่ โดยครอบคลุม Error ทุกประเภทใน Excel ได้แก่ #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, และ #NULL! มักใช้คู่กับ IF เพื่อแสดงข้อความเตือนหรือจัดการกับ Error ก่อนที่จะแสดงผล

ISNA

ISNA ตรวจสอบเฉพาะ Error #N/A ที่เกิดจากการค้นหาไม่เจอในฟังก์ชันต่างๆ เช่น VLOOKUP หรือ MATCH มีประโยชน์มากเมื่อต้องแยกแยะระหว่าง "หาไม่เจอ" กับ "สูตรคิดผิด"

NA

ฟังก์ชัน NA() ใช้สำหรับส่งคืนค่าความผิดพลาด #N/A ซึ่งหมายถึง 'ค่าไม่พร้อมใช้งาน' (No Value Available) โดยไม่มีอาร์กิวเมนต์ใดๆ ใช้เพื่อทำเครื่องหมายเซลล์ที่ข้อมูลขาดหายไปหรือเพื่อหลีกเลี่ยงการรวมเซลล์ว่างในการคำนวณ

Text (2)
REGEXTEST

REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ

T

T ฟังก์ชันที่ตรวจสอบว่าค่าเป็นข้อความหรือไม่ ถ้าใช่ส่งกลับข้อความเดิม ถ้าไม่ใช่ส่งกลับค่าว่าง ใช้ปลอดภัยกว่าการต่อข้อความตรงๆ เมื่อไม่แน่ใจว่าเซลล์ต้นทางเก็บอะไรอยู่

Engineering (1)
GESTEP

ตรวจสอบว่าตัวเลขมากกว่าหรือเท่ากับค่าเกณฑ์หรือไม่ คืนค่า 1 (จริง) หรือ 0 (เท็จ)

Math and trigonometry (1)
SQRT

SQRT คำนวณรากที่สองของตัวเลข ใช้ได้กับจำนวนบวกเท่านั้น ถ้าเป็นจำนวนลบจะ error #NUM!

Web (1)
WEBSERVICE

WEBSERVICE ส่งคำขอ GET ไปยัง URL ของ web service (API) บนอินเทอร์เน็ตหรือ Intranet และส่งกลับข้อมูลที่ได้รับ ใช้เพื่อดึงข้อมูลแบบ real-time เช่น ราคาหุ้น อัตราแลกเปลี่ยน ข้อมูลสภาพอากาศ โดยปกติใช้ร่วมกับ FILTERXML เพื่อแยกข้อมูลที่ต้องการจากผลลัพธ์ XML และกับ ENCODEURL เพื่อเข้ารหัส URL ให้ปลอดภัย

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่