ในกรณีที่ผลลัพธ์จากการคำนวณหรือค่าที่ได้จากการลิงค์ต่อมาจากเซลล์อื่น อาจไม่ใช่ค่าที่ต้องการแสดงให้ผู้ใช้เห็นเสมอไป เราสามารถนำสูตร IF มาช่วยเปลี่ยนค่าเดิมนั้นให้กลายเป็นค่าใหม่หรือเปลี่ยนจากตัวเลขหรือคำเตือน Error ให้กลายเป็นตัวอักษรที่สื่อความหมายได้ชัดเจนกว่าแทน
โปรดดูตัวอย่างจาก Row 2 ข้างต้น ในการนำเลขมาหารกันนั้น หากเป็นตัวเลขที่นำมาหารกันได้ ก็ย่อมคืนค่าที่ต้องการออกมาได้ทันที เช่น เมื่อนำเลข 100 จากเซลล์ B2 มาหารด้วยเลข 5 จากเซลล์ C2 โดยสร้างสูตร = B2/C2 ลงไปในเซลล์ D2 จะได้คำตอบเป็นตัวเลข 20
ใน Row 5 ถ้าเปลี่ยนเลข 5 ที่เป็นตัวหาร ให้เป็นเลข 0 แทน จะพบว่าสูตร =B5/C5 ไม่สามารถคำนวณได้ โดยแสดง Error #DIV/0! ออกมาแทน (#DIV/0! ย่อมาจากคำว่า Error from Divided by Zero หรือ Error เนื่องจากการถูกหารด้วยเลข 0)
เราสามารถเปลี่ยนการแสดง Error ให้เป็นเลข 0 แทน โดยใช้สูตรตามตัวอย่างใน Row 8 ดังนี้
=IF(C8=0, 0, B8/C8)
หรืออ่านสูตรเป็นคำแปลว่า ถ้าเซลล์ตัวหารมีค่าเท่ากับ 0 ให้ผลลัพธ์แสดงเลข 0 แทนการแสดง Error แต่ถ้าตัวหารไม่ใช่เลข 0 ก็ให้คำนวณหารกันต่อไปตามปกติ
ถ้าตัวหารไม่ใช่เลข 0 แต่กลับกลายเป็นตัวอักษร o จะพบว่าสูตร IF ข้างต้นนี้คือค่าออกมาเป็น #VALUE! แทน เพราะ Excel ไม่ยอมรับการนำตัวอักษรไปหารตัวเลข
ใน Row 11 กรณีที่ตัวหารเป็นตัวอักษร o (หรือตัวอักษรอื่นใด) เราสามารถป้องกันการเกิด Error จากการหารโดยใช้สูตร IsError มาช่วยตรวจสอบการคำนวณว่าจะเกิด Error หรือไม่
=IF( ISERROR(B11/C11), 0, B11/C11)
หรือตั้งแต่ Excel 2007 เป็นต้นมามี IfError เป็นสูตรใหม่ที่สั้นลง
=IFERROR(B11/C11,0)
หมายเหตุ
- ก่อนที่จะใช้สูตร IsError ควรหาทางตรวจสอบสูตรคำนวณที่สร้างก่อนว่าสามารถคำนวณได้คำตอบที่ต้องการหรือไม่ เพราะหากใช้สูตร IsError เข้ามาช่วยร่วมกับสูตร IF แล้ว เราจะไม่เห็น Error เกิดขึ้นอีกเลย
- ควรเลือกนำเฉพาะบางส่วนของการคำนวณจากสูตรที่จะนำมาตรวจสอบด้วยสูตร IsError โดยไม่จำเป็นต้องนำสูตรยาวๆทั้งหมดมาใส่ลงไปในวงเล็บของสูตร IsError
- ในกรณีที่เกิด Error ขึ้น ในกรณีที่ผลลัพธ์เดิมเป็น Text ควรเปลี่ยน Error เป็นคำเตือน หรือกรณีผลลัพธ์เดิมเป็นเลข ควรเปลี่ยน Error เป็นเลข 0 แทน จากนั้นให้ใช้ Format 0;-0; ซ่อนเลข 0 ให้ดูเหมือนเป็นช่องว่าง
- ในการเปลี่ยนการแสดง Error ให้แสดงเป็นช่องว่าง พยายามหลีกเลี่ยงการใช้ Null Text หรือ "" (แทนการใช้เลข 0) เพราะ "" มีสภาพเป็น Text ซึ่งหากนำค่านี้ไปบวกลบคูณหารต่อจะเกิด Error ต่อไปอีก กลายเป็นภาระให้เราต้องสร้างสูตร =IF(Cell="", "", Cell) ต่อไปอีก ซึ่งทำให้แฟ้มคำนวณช้าลงและมีขนาดใหญ่ขึ้นโดยไม่จำเป็น
- ในกรณีที่ต้องการแสดง #N/A ให้ใช้สูตร NA()
- นอกเหนือจากการใช้สูตร IF ช่วยในการเปลี่ยน Error ให้เป็นค่าอื่นแล้ว ในหน้ากระดาษที่ถูกพิมพ์ สามารถใช้คำสั่ง Page Setup > Sheet > Print > Cells error as เพื่อเปลี่ยนเซลล์ที่มีค่าเป็น Error ให้แสดงเป็นช่องว่าง, --, #N/A แทนได้อีกด้วย
สูตรกลุ่ม Is ที่ใช้ช่วยในการตรวจสอบ
- IsNA ตรวจสอบ Error #N/A "Not Available" ซึ่งเกิดจากสูตรกลุ่ม Lookup ในกรณีที่หาค่าที่ต้องการไม่พบ
- IsError ตรวจสอบ Error ทุกประเภท
- IsErr ตรวจสอบ Error เกือบทุกประเภท เว้น NA
- IsBlank ตรวจสอบเซลล์ว่าง
- IsText ตรวจสอบเซลล์มีค่าเป็น Text หรือค่าที่จะชิดซ้ายให้เองเมื่อพิมพ์ลงไป เช่น '123 ถือว่าเป็น Text
- IsNumber ตรวจสอบเซลล์มีค่าเป็น Number หรือค่าที่จะชิดขวาให้เองเมื่อพิมพ์ลงไป เช่น 10/4/2010 จะชิดขวาเพราะถือว่าเป็น Number