RSS

การเปลี่ยนค่าผิดพลาด #N/A เป็นค่าใด ๆ ตามต้องการ

31 May

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 ค่ามาให้ ถ้าไม่พบก็ให้แสดงค่าว่าง

Note:

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

Posted by on 31/05/2012 in If, Isna, Isnumber, Vlookup

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: