เวลาเขียน VLOOKUP หรือ XLOOKUP แล้วหาข้อมูลไม่เจอ Excel จะขึ้น #N/A ซึ่งดูน่าตกใจทั้งที่จริงๆ แค่ “ไม่พบ” เฉยๆ สูตร IFNA เกิดมาเพื่อจัดการเรื่องนี้โดยเฉพาะ มันจะดักเฉพาะ #N/A แล้วเปลี่ยนเป็นข้อความที่เราต้องการ แต่ยังปล่อยให้ Error ชนิดอื่นโผล่ตามปกติ เพื่อเตือนเราว่าสูตรมีอะไรผิดจริงๆ
🎬 ดูวิดีโอสอน (1 นาที 25 วินาที) บน Excel จริง หรืออ่านขั้นตอนละเอียดด้านล่าง
รูปแบบของสูตร IFNA
=IFNA(สูตรที่ต้องการคำนวณ, ค่าที่ให้แสดงถ้าเจอ #N/A)
ใช้ได้ตั้งแต่ Excel 2013 เป็นต้นมา รวมถึง Microsoft 365 ทุกเวอร์ชัน หลักการคือ “ถ้าผลลัพธ์เป็น #N/A ให้ใช้ค่าสำรอง ถ้าไม่ใช่ ก็แสดงผลตามจริง”
ตัวอย่างที่ 1: ครอบ VLOOKUP ที่หารหัสไม่เจอ
ตัวอย่างบน Excel จริง =IFNA(VLOOKUP(A2,$E$2:$F$4,2,FALSE),"ยังไม่มีในระบบ") ลากลงมาให้ครบ

แถวที่ 3 รหัส E09 ไม่มีอยู่ในตารางอ้างอิง E2:F4 สูตร VLOOKUP เดิมจะคืน #N/A แต่พอครอบ IFNA ไว้ จะแสดง “ยังไม่มีในระบบ” แทน ส่วนแถวที่หาเจอก็แสดงชื่อแผนกตามปกติ สังเกตว่าช่วงตารางอ้างอิงล็อกเป็น $E$2:$F$4 ตามหลัก Absolute Reference เพื่อให้คัดลอกสูตรลงมาแล้วช่วงไม่เลื่อน
ตัวอย่างที่ 2: IFNA ต่างจาก IFERROR ตรงไหน
ทั้งสองสูตรใช้แทนกันได้ในหลายกรณี แต่มีความต่างที่สำคัญ สมมติว่าเราพิมพ์ช่วงตารางผิดจนสูตรอ้างอิงเซลล์ที่ถูกลบไปแล้ว (เกิด #REF!)
เปรียบเทียบบน Excel จริง ช่วงตารางอ้างอิงถูกลบ (เกิด #REF!) IFNA ปล่อยให้โผล่ (ช่อง IFNA) แต่ IFERROR กลบเป็น “ไม่พบ” (ช่อง IFERROR)

IFNA ปล่อยให้ #REF! โผล่ออกมา เพราะมันไม่ใช่ #N/A ทำให้เรารู้ทันทีว่าสูตรพัง ต้องไปแก้ ถ้าใช้ IFERROR แทน มันจะกลบทุก Error รวมถึง #REF! เป็นข้อความ “ไม่พบ” ทำให้เราไม่รู้เลยว่าจริงๆ แล้วสูตรมีบั๊ก
| สูตร | ดักจับ | เหมาะกับ |
| IFNA | เฉพาะ #N/A |
งานค้นหาข้อมูล ที่อยากให้ Error อื่นเตือนเราได้ |
| IFERROR | ทุก Error (#N/A, #DIV/0!, #VALUE!, #REF!, #NAME? ฯลฯ) |
งานที่มั่นใจว่าสูตรถูกแล้ว แค่อยากซ่อน Error ที่คาดเดาได้ |
ตัวอย่างที่ 3: ใช้กับ MATCH เพื่อเช็คว่ามีรายชื่อซ้ำไหม
ตัวอย่างบน Excel จริง =IFNA(MATCH(K2,$L$2:$L$4,0),"ไม่อยู่ในลิสต์เดิม") ลากลงมาให้ครบ

MATCH คืนลำดับที่พบชื่อในลิสต์เดิม ถ้าไม่พบจะเป็น #N/A พอครอบ IFNA จะเปลี่ยนเป็นข้อความบอกว่าเป็นรายชื่อใหม่ วิธีนี้ใช้เทียบสองรายชื่อว่าใครเพิ่มเข้ามาใหม่บ้างได้เร็วมาก
ข้อควรรู้เพิ่มเติม
- XLOOKUP มีตัวเลือก if_not_found ในตัว — ถ้าใช้ XLOOKUP อยู่แล้ว สามารถใส่ค่าสำรองเป็นอาร์กิวเมนต์ที่ 4 ได้เลย เช่น
=XLOOKUP(A2,รหัส,แผนก,"ไม่พบ")ไม่ต้องครอบ IFNA - อย่าใช้ IFNA กลบ #N/A ที่ควรแก้ — บางที
#N/Aเกิดจากพิมพ์รหัสมีช่องว่างเกิน หรือชนิดข้อมูลไม่ตรงกัน (ตัวเลขที่เก็บเป็นข้อความ) ควรแก้ต้นเหตุก่อน ไม่ใช่ซ่อนไว้ - เวอร์ชันเก่ากว่า 2013 — ถ้าเปิดไฟล์ใน Excel รุ่นเก่ามาก IFNA จะกลายเป็น
#NAME?กรณีนี้ใช้IF(ISNA(...),...)แทนได้
อ่านเพิ่มเรื่องการใช้ตัวจับ Error คู่กับงานค้นหาได้ที่ ใช้ IFERROR ร่วมกับ VLOOKUP/XLOOKUP และ INDEX + MATCH