เปลี่ยนค่าผิดพลาด #N/A เป็นค่าอื่นใน Excel 2003

Open-mouthed smile ฟังก์ชั่นที่ใช้บ่อยที่สุด Top Hit ติด Chart ฟังก์ชั่นหนึ่งคือ Vlookup ซึ่งเป็นการ Lookup ข้อมูลที่มีค่าตรงกันกับค่าที่ต้องการ แล้วนำข้อมูลที่เกี่ยวข้องมาแสดง และเมื่อ Lookup กันแล้วเมื่อไม่เจอค่าที่ต้องการจะเกิดค่าผิดพลาดขึ้นมาเป็น #N/A

Thinking smile ปัญหาที่ตามมาคือต้องการไม่ให้แสดงค่าเป็น #N/A จะทำอย่างไร เพราะเมื่อติดค่าผิดพลาดเป็น #N/A แล้วจะทำให้นำไปคำนวณต่อไม่ได้

Light bulb อันที่จริงแล้วการจัดการไม่ให้แสดงผล #N/A มีหลายวิธี หรือแม้จะติดค่า #N/A มาก็ตามก็จะยังสามารถที่จะใช้งานได้ แต่จะยากมากขึ้น เพื่อให้ทำงานง่ายผมขอแนะนำให้เปลี่ยนค่า #N/A ด้วยฟังก์ชั่น If ดังนี้ครับ

=If(Isna(Vlookup(A1,$C$1:$E$100,3,0)),0,Vlookup(A1,$C$1:$E$100,3,0))

เมื่อ

  1. A1 คือค่าที่ต้องการ Lookup
  2. $C$1:$E$100 คือตารางฐานข้อมูล
  3. 3 คือคอลัมน์ที่ต้องการนำมาแสดงผล
  4. 0 คือ รูปแบบการ Lookup ซึ่งเป็นการ Lookup แบบตรงตัว ถ้าเป็น 1 เป็นการ Lookup แบบหาค่าใกล้เคียง

จากสูตรด้านบนหมายความว่า ถ้า Vlookup แล้วเป็นค่าผิดพลาด #N/A ให้แสดงค่า 0 (สามารถเป็นเป็นค่าใด ๆ ตามต้องการ เช่น ” “,”Not Found” ฯลฯ) ถ้าไม่เป็นค่าผิดพลาดก็ให้นำค่าผลลัพธ์จากการ Vlookup มาแสดง

Light bulb หรืออีกตัวอย่าง

=If(Isnumber(Match(A1,$C$1:$C$100,0)),Vlookup(A1,$C$1:$E$100,3,0),"")

หมายความว่า ถ้าพบค่า A1 ในช่วงข้อมูล $C$1:$C$100 ก็ให้ทำการ Vlookup ค่ามาให้ ถ้าไม่พบก็ให้แสดงค่าว่าง

หมายเหตุ

  1. ฟังก์ชั่น Match จะแสดงลำดับที่พบข้อมูล ถ้าไม่พบจะแสดงค่า #N/A
  2. ฟังก์ชั่น Isnumber จะเป็นการตรวจสอบว่าค่าที่ได้จากการ Match ว่าเป็นตัวเลขหรือไม่

Revised: January 29, 2017 at 07:40

This site uses Akismet to reduce spam. Learn how your comment data is processed.