IFNA
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด
IFNA คืออะไร
แสดงค่าที่กำหนดแทนเมื่อสูตรให้ผลเป็น #N/A (หาค่าไม่พบ) ส่วน Error ชนิดอื่นยังแสดงตามจริง
ใช้เมื่อไหร่
- แสดงข้อความ ไม่พบ แทน #N/A เมื่อค้นรหัสด้วย VLOOKUP หรือ MATCH
- ให้ค่าเป็น 0 เมื่อหาไม่พบ เพื่อให้ยอดรวมคำนวณต่อได้
- ครอบสูตรค้นหาโดยยังเห็น Error อื่นที่บอกว่าข้อมูลผิด
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| value | จำเป็น | สูตรหรือค่าที่ต้องการตรวจว่าเป็น #N/A ไหม มักเป็นสูตรค้นหา |
| value_if_na | จำเป็น | ค่าที่แสดงแทนเมื่อ value เป็น #N/A เช่น ข้อความ 0 หรือ "" |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
P025 ไม่มีในตาราง VLOOKUP จึงได้ #N/A ครอบด้วย IFNA เพื่อแสดงข้อความแทน #N/A
| แถว | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 4 | รหัสสินค้า | ชื่อสินค้า | หมวดสินค้า | ราคาขาย (บาท) | ผู้ผลิต | ||
| 5 | P001 | น้ำส้มคั้น 100% 350 มล. (แพ็ค 12) | เครื่องดื่ม | 420 | โรงงานสยามเฟรช นครปฐม | ||
| 6 | P003 | น้ำดื่มสยามเฟรช 600 มล. (แพ็ค 12) | เครื่องดื่ม | 60 | โรงงานสยามเฟรช นครปฐม | ||
| 7 | P006 | กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24) | เครื่องดื่ม | 560 | โรงงานสยามเฟรช นครปฐม | ||
| 8 | P009 | มันฝรั่งทอดกรอบ รสดั้งเดิม 75 ก. (กล่อง 24) | ขนมขบเคี้ยว | 720 | หจก. เกษตรไทยพรีเมียม | ||
| 9 | P011 | ข้าวเกรียบกุ้ง 60 ก. (กล่อง 36) | ขนมขบเคี้ยว | 650 | บจก. ซีฟู้ด โปรเซสซิ่ง | ||
| 10 | P017 | บะหมี่กึ่งสำเร็จรูป รสต้มยำกุ้ง (ลัง 30) | อาหารสำเร็จรูป | 250 | โรงงานสยามเฟรช นครปฐม | ||
| 11 | P024 | นม UHT รสจืด 180 มล. (ลัง 48) | ผลิตภัณฑ์นม | 520 | บจก. แดรี่พลัส อุตสาหกรรม | ||
| 12 | P030 | น้ำปลาแท้ 700 มล. (ลัง 12) | เครื่องปรุงรส | 420 | โรงงานสยามเฟรช นครปฐม | ||
| 13 | P036 | น้ำยาล้างจาน กลิ่นมะนาว 500 มล. (ลัง 24) | ของใช้ในครัวเรือน | 540 | บจก. คลีนโฮม ซัพพลาย | ||
| 14 | P039 | กระดาษทิชชูม้วนใหญ่ (แพ็ค 24) | ของใช้ในครัวเรือน | 420 | บจก. คลีนโฮม ซัพพลาย | ||
| 15 | |||||||
| 16 | |||||||
| 17 | |||||||
| 18 | |||||||
| 19 |
ขั้นตอนการคำนวณ (4)
- อ่านสูตร I6: ถ้า VLOOKUP ได้ #N/A ให้แสดง ไม่พบรหัสสินค้า ถ้าหาเจอก็แสดงราคาตามปกติ
- ลองเลือก P024 ใน I4 ทุกช่องจะแสดงค่าจริง และ I7 ได้ 7 คือแถวที่ 7 ของตาราง
- ระวัง: IFNA จับเฉพาะ #N/A ถ้าสูตรด้านในผิดแบบอื่น เช่น #VALUE! จะยังเห็น Error ตามจริง ดูตัวอย่าง 2
ตัวอย่างทั้งหมด 3 แบบ
- 1แสดงข้อความเมื่อหาไม่พบ · P025 ไม่มีในตาราง VLOOKUP จึงได้ #N/A ครอบด้วย IFNA เพื่อแสดงข้อความแทน #N/A
- 2IFNA ต่างจาก IFERROR · มูลค่า = ราคาต่อลังจากตารางด้านล่าง × จำนวนลัง คอลัมน์ D ครอบด้วย IFNA ยังเห็น Error อื่น ส่วนคอลัมน์ E ครอบด้วย IFERROR ซึ่งซ่อนทุก Error
- 3ต่ำกว่าขั้นแรกให้เป็น 0 · VLOOKUP แบบ TRUE ได้ #N/A เมื่อยอดน้อยกว่าขั้นแรก (100,000 บาท) IFNA เปลี่ยนเป็น 0 ค่าคอมรวมจึงคำนวณต่อได้
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| IFNA |
IFNA ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกฟังก์ชันให้ถูกงาน
| ฟังก์ชัน | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| IFNA | แทนค่าเฉพาะ #N/A (หาไม่พบ) | =IFNA(VLOOKUP(I4,A5:E14,4,FALSE),"ไม่พบ") |
| IFERROR | แทนค่าเมื่อเป็น Error ทุกชนิด | =IFERROR(D5/C5,"ยังไม่มีเป้า") |
| XLOOKUP | มี if_not_found ในตัว (2021 ขึ้นไป) | =XLOOKUP(I4,A5:A14,D5:D14,"ไม่พบ") |
| ISNA | ตรวจว่าเป็น #N/A ไหม ได้ TRUE หรือ FALSE | =ISNA(MATCH(I4,A5:A14,0)) |
ใน Power BI ใช้อะไร
DAX ใช้ค่าว่างแทน #N/A ใช้ COALESCE แทนค่าว่างด้วยค่าสำรอง
ไฟล์ฝึก IFNA
9Expert-IFNA-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1ชื่อสินค้าของรหัสในช่อง C7 ถ้าไม่พบให้แสดง ไม่พบ
- ข้อ 2ราคาขายของรหัสในช่อง C8 ถ้าไม่พบให้แสดง 0
- ข้อ 3ผู้ผลิตของสินค้าชื่อในช่อง C9 ใช้ INDEX กับ MATCH ถ้าไม่พบให้แสดง ไม่มีข้อมูล
- ข้อ 4รหัสในช่อง C10 อยู่ลำดับที่เท่าไรในคอลัมน์ G (G6:G15) ถ้าไม่พบให้แสดง ไม่อยู่ในรายการ
- ข้อ 5มูลค่า 12 ลังของรหัสในช่อง C11 ถ้าไม่พบให้แสดง ไม่พบรหัสสินค้า
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =IFNA(VLOOKUP("P099",A5:E14,4,FALSE),"ไม่พบ") เมื่อไม่มี P099 ในตาราง ได้อะไร
VLOOKUP หาไม่พบได้ #N/A IFNA จึงแสดง value_if_na
2. =IFNA(10/0,"ไม่พบ") ได้อะไร
10/0 เป็น #DIV/0! ไม่ใช่ #N/A IFNA จึงไม่จับ และแสดง Error ตามจริง
3. ทำไมสูตรค้นหาจึงควรครอบด้วย IFNA มากกว่า IFERROR
IFERROR ซ่อนทุก Error ข้อความจึงอาจบอกสาเหตุผิด เช่น จำนวนพิมพ์เป็นข้อความแต่ขึ้นว่าไม่พบรหัส
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)