สารบัญ
ได้รับข้อผิดพลาด #N/A จำนวนมากในเวิร์กชีตของคุณ และอยากทราบว่ามีวิธีการแสดงข้อความที่กำหนดเองแทนหรือไม่ สูตร IFNA คือคำตอบที่คุณต้องการ
เมื่อสูตร Excel ไม่สามารถระบุหรือค้นหาบางสิ่งได้ ระบบจะแสดงข้อผิดพลาด #N/A หากต้องการตรวจจับข้อผิดพลาดดังกล่าวและแทนที่ด้วยข้อความที่เป็นมิตรต่อผู้ใช้ คุณสามารถใช้ฟังก์ชัน IFNA กล่าวอีกนัยหนึ่ง #N/A เป็นวิธีของ Excel ในการบอกว่าค่าที่คุณกำลังมองหาไม่มีอยู่ในชุดข้อมูลที่อ้างอิง IFNA เป็นวิธีดักจับและจัดการกับข้อผิดพลาดนั้น
ฟังก์ชัน IFNA ใน Excel
ฟังก์ชัน IFNA ของ Excel มีวัตถุประสงค์เพื่อตรวจจับและจัดการข้อผิดพลาด #N/A หากสูตรประเมินค่าเป็น #N/A IFNA จะดักจับข้อผิดพลาดนั้นและแทนที่ด้วยค่าที่คุณกำหนดเอง มิฉะนั้นจะส่งกลับผลลัพธ์ปกติของสูตร
ไวยากรณ์ IFNA
ไวยากรณ์ของฟังก์ชัน IFNA เป็นดังนี้:
IFNA(value, value_if_na)ที่ไหน:
ค่า (จำเป็น) - สูตร ค่า หรือการอ้างอิงเพื่อตรวจสอบข้อผิดพลาด #N/A
Value_if_na (จำเป็น) - ค่า เพื่อส่งคืนหากตรวจพบข้อผิดพลาด #N/A
หมายเหตุการใช้งาน
- ฟังก์ชัน IFNA จะจัดการเฉพาะ #N/A โดยไม่ระงับข้อผิดพลาดอื่นๆ
- ถ้าอาร์กิวเมนต์ value เป็น สูตรอาร์เรย์ IFNA จะส่งกลับอาร์เรย์ของผลลัพธ์ หนึ่งรายการต่อเซลล์ ดังที่แสดงในตัวอย่างนี้
ความพร้อมใช้งานของ IFNA
ฟังก์ชัน IFNA ถูกนำมาใช้ในExcel 2013 และพร้อมใช้งานในเวอร์ชันถัดไปทั้งหมด รวมถึง Excel 2016, Excel 2019, Excel 2021 และ Microsoft 365
ในเวอร์ชันก่อนหน้า คุณสามารถตรวจจับข้อผิดพลาด #N/A ได้โดยใช้ฟังก์ชัน IF และ ISNA ร่วมกัน
วิธีใช้ฟังก์ชัน IFNA ใน Excel
หากต้องการใช้ IFNA ใน Excel อย่างมีประสิทธิภาพ ให้ทำตามแนวทางทั่วไปนี้:
- ในอาร์กิวเมนต์แรก ( ค่า ) ใส่สูตรที่ได้รับผลกระทบจากข้อผิดพลาด #N/A
- ในอาร์กิวเมนต์ที่สอง ( value_if_na ) ให้พิมพ์ข้อความที่คุณต้องการส่งคืนแทนสัญลักษณ์แสดงข้อผิดพลาดมาตรฐาน หากต้องการส่งคืนเซลล์ว่างเมื่อไม่พบสิ่งใด ให้ระบุสตริงว่าง ('"")
หากต้องการส่งคืน ข้อความที่กำหนดเอง สูตรทั่วไปคือ:
IFNA( สูตร(), " ข้อความที่กำหนดเอง")หากต้องการส่งคืน เซลล์ว่าง สูตรทั่วไปคือ:
IFNA( สูตร(), "")มาดูวิธีการทำงานด้วยตัวอย่างง่ายๆ กัน ในตารางด้านล่าง สมมติว่าคุณต้องการทราบว่าคะแนนของนักเรียนแต่ละคนอยู่ในอันดับใด เนื่องจากข้อมูลถูกจัดเรียงตามคอลัมน์ คะแนน จากสูงสุดไปต่ำสุด อันดับจะตรงกับตำแหน่งสัมพัทธ์ของนักเรียนในตาราง และเพื่อให้ได้ตำแหน่ง คุณสามารถใช้ฟังก์ชัน MATCH ในรูปแบบที่ง่ายที่สุด:
=MATCH(E1, A2:A10, 0)
เนื่องจากค่าการค้นหา (Neal) ไม่มีอยู่ในอาร์เรย์การค้นหา (A2:A10) เกิดข้อผิดพลาด #N/A
เมื่อพบข้อผิดพลาดนี้ ผู้ใช้ที่ไม่มีประสบการณ์อาจคิดว่ามีบางอย่างผิดปกติกับสูตร และคุณในฐานะผู้สร้างสมุดงานจะได้รับคำถามมากมาย เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถระบุได้อย่างชัดเจนว่าสูตรนั้นถูกต้อง เพียงแต่ไม่พบค่าที่ขอให้ค้นหาเท่านั้น ดังนั้น คุณซ้อนสูตร MATCH ในอาร์กิวเมนต์แรกของ IFNA และในอาร์กิวเมนต์ที่สอง ให้พิมพ์ข้อความที่คุณกำหนดเอง "ไม่พบ" ในกรณีของเรา:
=IFNA(MATCH(E1, A2:A10, 0), "Not found")
ตอนนี้ แทนที่จะเป็น เครื่องหมายแสดงข้อผิดพลาดมาตรฐาน ข้อความของคุณเองจะแสดงในเซลล์ โดยแจ้งให้ผู้ใช้ทราบว่าค่าการค้นหาไม่มีอยู่ในชุดข้อมูล:
วิธีใช้ IFNA กับ VLOOKUP
ข้อผิดพลาด #N/A ส่วนใหญ่มักเกิดขึ้นในฟังก์ชันที่ค้นหาบางอย่าง เช่น VLOOKUP, HLOOKUP, LOOKUP และ MATCH ตัวอย่างด้านล่างครอบคลุมกรณีการใช้งานทั่วไปบางส่วน
ตัวอย่างที่ 1. สูตร IFNA VLOOKUP พื้นฐาน
หากต้องการดักข้อผิดพลาด #N/A ที่เกิดขึ้นเมื่อ VLOOKUP ไม่พบข้อมูลที่ตรงกัน ให้ตรวจสอบผลลัพธ์ โดยใช้ IFNA และระบุค่าที่จะแสดงแทนข้อผิดพลาด แนวทางปฏิบัติทั่วไปคือการรวมฟังก์ชัน IFNA ไว้รอบๆ สูตร VLOOKUP ที่มีอยู่ของคุณโดยใช้ไวยากรณ์นี้:
IFNA(VLOOKUP(), " ข้อความของคุณ")ในตารางตัวอย่างของเรา สมมติว่าคุณต้องการ ดึงคะแนนของนักเรียนโดยเฉพาะ (E1) สำหรับสิ่งนี้ คุณกำลังใช้สูตร VLOOKUP คลาสสิกนี้:
=VLOOKUP(E1, A2:B10, 2, FALSE)
ปัญหาคือ Neal ไม่ได้เข้าสอบ ดังนั้นชื่อของเขาจึงไม่อยู่ในรายชื่อ และเห็นได้ชัดว่า VLOOKUP หาไม่พบ การแข่งขัน
หากต้องการซ่อนข้อผิดพลาด เรารวม VLOOKUP ใน IFNA ดังนี้:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
ตอนนี้ ผลลัพธ์ไม่ได้ดูน่ากลัวสำหรับผู้ใช้และให้ข้อมูลมากขึ้น:
ตัวอย่างที่ 2 IFNA VLOOKUP เพื่อค้นหาในหลายๆ ชีต
ฟังก์ชัน IFNA ยังมีประโยชน์สำหรับการดำเนินการค้นหาที่เรียกว่า ตามลำดับ หรือ โยงใย ข้ามหลายแผ่นหรือสมุดงานที่แตกต่างกัน แนวคิดคือคุณซ้อนสูตร IFNA(VLOOKUP(…)) ที่แตกต่างกันสองสามสูตรด้วยวิธีนี้:
IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), "ไม่ พบ")))หาก VLOOKUP หลักไม่พบสิ่งใด ฟังก์ชัน IFNA จะเรียกใช้ VLOOKUP ถัดไปจนกว่าจะพบค่าที่ต้องการ หากการค้นหาทั้งหมดล้มเหลว สูตรจะส่งกลับข้อความที่ระบุ
สมมติว่าคุณมีคะแนนของคลาสต่างๆ ที่แสดงอยู่ในชีตต่างๆ (ชื่อ คลาส A , คลาส B และ คลาส C ) เป้าหมายของคุณคือรับคะแนนของนักเรียนคนใดคนหนึ่ง โดยป้อนชื่อลงในเซลล์ B1 ในเวิร์กชีตปัจจุบันของคุณ เพื่อให้งานสำเร็จ ให้ใช้สูตรนี้:
=IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "Not found")))
สูตรจะค้นหาชื่อที่ระบุตามลำดับในแผ่นงานที่แตกต่างกันสามแผ่นตามลำดับ VLOOKUP จะซ้อนกันและนำรายการแรกที่พบตรงกัน:
ตัวอย่างที่ 3. IFNA ที่มี INDEX MATCH
ในลักษณะเดียวกัน IFNA สามารถตรวจจับข้อผิดพลาด #N/A ที่เกิดจากฟังก์ชันการค้นหาอื่นๆ ตัวอย่าง ใช้ร่วมกับ INDEX MATCHสูตร:
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Not found")
ส่วนสำคัญของสูตรเหมือนกับในตัวอย่างก่อนหน้านี้ทั้งหมด - INDEX MATCH ดำเนินการค้นหา และ IFNA ประเมินผลลัพธ์และตรวจจับข้อผิดพลาด #N/A หาก ไม่พบค่าอ้างอิง
IFNA เพื่อส่งคืนผลลัพธ์หลายรายการ
ในกรณีที่ฟังก์ชันภายใน (เช่น สูตรที่อยู่ใน ค่า อาร์กิวเมนต์) ส่งคืนค่าหลายค่า IFNA จะทดสอบค่าที่ส่งคืนแต่ละค่าทีละรายการและส่งออกผลลัพธ์เป็นอาร์เรย์ ตัวอย่างเช่น:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Not found")
ใน Dynamic Array Excel (Microsoft 365 และ Excel 2021) สูตรปกติในเซลล์บนสุด (E2) จะกระจายผลลัพธ์ทั้งหมดในเซลล์ข้างเคียงโดยอัตโนมัติ (ในแง่ ของ Excel เรียกว่าช่วงการรั่วไหล)
ในเวอร์ชันพรีไดนามิก (Excel 2019 และต่ำกว่า) เอฟเฟกต์ที่คล้ายกันสามารถทำได้โดยใช้อาร์เรย์หลายเซลล์ สูตร ซึ่งเสร็จสิ้นด้วยปุ่มลัด Ctrl + Shift + Enter
ความแตกต่างระหว่าง IFNA และ IFERROR คืออะไร
ขึ้นอยู่กับสาเหตุของ ปัญหา สูตร Excel อาจทำให้เกิดข้อผิดพลาดต่างๆ เช่น #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM และอื่นๆ ฟังก์ชัน IFERROR จะตรวจจับข้อผิดพลาดทั้งหมดในขณะที่ IFNA ถูกจำกัดไว้ที่ #N/A เท่านั้น เลือกอันไหนดี? ขึ้นอยู่กับสถานการณ์
หากคุณต้องการระงับ ข้อผิดพลาดใดๆ ให้ใช้ฟังก์ชัน IFERROR มีประโยชน์อย่างยิ่งในการคำนวณที่ซับซ้อนเมื่อมีสูตรมีฟังก์ชันหลายอย่างที่สามารถสร้างข้อผิดพลาดที่แตกต่างกันได้
ด้วย ฟังก์ชันการค้นหา คุณควรใช้ IFNA เนื่องจากจะแสดงผลลัพธ์ที่กำหนดเองเฉพาะเมื่อไม่พบค่าการค้นหาและไม่ซ่อนค่าพื้นฐาน ปัญหาเกี่ยวกับสูตรเอง
เพื่อแสดงความแตกต่าง ลองนำสูตร IFNA VLOOKUP พื้นฐานของเรากลับมาและสะกดชื่อฟังก์ชัน "โดยบังเอิญ" ผิด (VLOKUP แทน VLOOKUP)
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
IFNA ไม่ระงับข้อผิดพลาดนี้ ดังนั้นคุณจะเห็นได้อย่างชัดเจนว่ามีบางอย่างผิดปกติกับชื่อฟังก์ชันอย่างใดอย่างหนึ่ง:
ตอนนี้ มาดูกันว่าจะเกิดอะไรขึ้นถ้าคุณใช้ IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
อืม… มันบอกว่า Olivia ไม่ได้เข้าสอบ ซึ่งไม่เป็นความจริง! นี่เป็นเพราะฟังก์ชัน IFERROR ดักจับ #NAME? เกิดข้อผิดพลาดและส่งกลับข้อความที่กำหนดเองแทน ในสถานการณ์นี้ ไม่เพียงแต่ส่งคืนข้อมูลที่ไม่ถูกต้องเท่านั้น แต่ยังปิดบังปัญหาเกี่ยวกับสูตรด้วย
นั่นคือวิธีการใช้สูตร IFNA ใน Excel ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ดาวน์โหลดได้
ตัวอย่างสูตร Excel IFNA (ไฟล์ .xlsx)