หน้าแรก บทความ Microsoft
Microsoft

ISERROR, ISERR, ISNA ใน Excel เช็คว่าเซลล์เป็น Error หรือไม่

เผยแพร่ 29 ส.ค. 69

สูตรตระกูล ISERROR, ISERR และ ISNA ใช้ตรวจว่าเซลล์หรือสูตรกำลังเป็น Error อยู่หรือไม่ แล้วคืนค่าเป็น TRUE หรือ FALSE ต่างจาก IFERROR ที่เปลี่ยนค่าให้เลย สูตรกลุ่มนี้เหมาะกับตอนที่เราอยากเช็คเงื่อนไขก่อน แล้วแตกไปทำอย่างอื่น เช่น นับจำนวน Error หรือไฮไลต์เซลล์

ความต่างของทั้งสามสูตร

สูตร คืน TRUE เมื่อเจอ
ISERROR Error ทุกชนิด (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!)
ISERR Error ทุกชนิด ยกเว้น #N/A
ISNA เฉพาะ #N/A เท่านั้น

รูปแบบเหมือนกันหมดคือ =ISERROR(ค่า) โดย “ค่า” จะเป็นเซลล์หรือสูตรก็ได้

ตัวอย่างที่ 1: แตกเงื่อนไขด้วย IF

ต่างจาก IFERROR ตรงที่เราเลือกได้ว่าถ้าเจอ Error จะให้ทำสูตรอีกแบบ ไม่ใช่แค่แสดงข้อความ

D2fx=IF(ISERROR(B2/C2),0,B2/C2)
A B C D
1 เดือน ยอดขาย จำนวนวันขาย เฉลี่ย/วัน
2 ม.ค. 30,000 0 0
3 ก.พ. 28,000 20 1,400

ถ้า B2/C2 เป็น Error (หารด้วย 0) จะได้ 0 ถ้าไม่ Error ก็คำนวณตามจริง กรณีง่ายๆ แบบนี้เขียนด้วย =IFERROR(B2/C2,0) สั้นกว่า แต่ถ้าปลายทางที่ Error กับไม่ Error ต้องใช้สูตรคนละแบบ การใช้ ISERROR คู่กับ IF จะยืดหยุ่นกว่า

ตัวอย่างที่ 2: นับจำนวน Error ในคอลัมน์

E1fx=SUMPRODUCT(--ISERROR(C2:C6))
A C
1 รหัส ผลค้นหา
2 A1 590
3 A9 #N/A
4 A2 320
5 A8 #N/A
6 A3 #DIV/0!

ผลลัพธ์ที่ E1 คือ 3 ISERROR สร้างลิสต์ TRUE/FALSE ให้ทั้งช่วง เครื่องหมาย -- แปลง TRUE/FALSE เป็น 1/0 แล้ว SUMPRODUCT รวมยอด ถ้าอยากนับเฉพาะ #N/A ให้เปลี่ยนเป็น ISNA จะได้ 2

ตัวอย่างที่ 3: เลือกใช้ ISNA เมื่ออยากแยก “ไม่พบ” ออกจาก “สูตรพัง”

C2fx=IF(ISNA(VLOOKUP(A2,$E$2:$F$9,2,0)),"ลูกค้าใหม่","ลูกค้าเก่า")
A B C
1 เบอร์โทร ยอดซื้อ ประเภท
2 0891112222 1,200 ลูกค้าใหม่
3 0863334444 800 ลูกค้าเก่า

ISNA ดักเฉพาะกรณี VLOOKUP หาเบอร์ไม่เจอ (แปลว่าเป็นลูกค้าใหม่) ถ้าใช้ ISERROR แทน แล้วบังเอิญช่วงตารางพิมพ์ผิดจนเป็น #REF! สูตรจะไปตอบว่า “ลูกค้าใหม่” ทั้งที่จริงๆ สูตรพัง การใช้ ISNA จึงปลอดภัยกว่าในงานค้นหา เหมือนที่อธิบายไว้ในบทความ IFNA

ใช้กับ Conditional Formatting ไฮไลต์เซลล์ที่ Error

เลือกช่วงข้อมูล → แท็บ Home → Conditional Formatting → New Rule → Use a formula เลือกสูตร =ISERROR(A1) (อ้างอิงเซลล์มุมบนซ้ายของช่วงที่เลือก) แล้วตั้งสีพื้นเป็นสีแดงอ่อน เซลล์ที่เป็น Error จะถูกไฮไลต์อัตโนมัติ ดูวิธีตั้งกฎแบบละเอียดที่ Conditional Formatting

เลือกใช้ตัวไหนดี

ดูสูตรเช็คชนิดข้อมูลตัวอื่นได้ที่ ISNUMBER และ ISBLANK

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line