Thep Excel

ISNUMBERตรวจสอบว่าเป็นตัวเลขหรือไม่

ISNUMBER ตรวจสอบค่าที่ระบุว่าเป็นประเภทตัวเลขหรือไม่ (รวมถึงวันที่และเวลาซึ่ง Excel เก็บเป็นตัวเลข) แต่จะไม่นับตัวเลขที่ถูกจัดเก็บเป็นข้อความ (Numbers stored as text) ผลลัพธ์ที่ได้คือ TRUE หรือ FALSE

fx
=ISNUMBER(value)

ความนิยม6/10
ความยาก2/10
ประโยชน์7/10

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
value Any ค่าหรือเซลล์ที่ต้องการตรวจสอบ

Additional Notes

ฟังก์ชัน ISNUMBER ใช้สำหรับตรวจสอบว่าค่าในเซลล์เป็นตัวเลข (Number) หรือไม่ โดยจะคืนค่าเป็น TRUE ถ้าเป็นตัวเลข และ FALSE ถ้าไม่ใช่ (เช่น เป็นข้อความ หรือ Error)

งานจริงที่เจอ ISNUMBER บ่อยที่สุดคือการตรวจสอบคุณภาพข้อมูลก่อนคำนวณ เช่น ทีมบัญชีดึงยอดขายจากระบบ POS หรือไฟล์ CSV มาแปะใน Excel แล้วบางแถวตัวเลขกลายเป็นข้อความ (ชิดซ้ายผิดปกติ) ทำให้ SUM คำนวณข้ามแถวนั้นไปเงียบๆ โดยไม่ฟ้อง error ใช้ ISNUMBER สแกนหาแถวที่มีปัญหาก่อนส่งรายงานต่อ อีกงานที่พบบ่อยคือตั้ง Data Validation บังคับให้ผู้กรอกฟอร์มใส่ตัวเลขในช่องจำนวนสินค้าหรือราคาเท่านั้น

จุดที่คนพลาดบ่อยที่สุดคือคิดว่า ISNUMBER(“123”) จะได้ TRUE เพราะเห็นเป็นตัวเลขด้วยตา แต่ Excel เก็บ “123” (มีเครื่องหมายคำพูด หรือมาจากการนำเข้าที่บังคับ format เป็นข้อความ) เป็น Text จริงๆ ไม่ใช่ Number จึงได้ FALSE เสมอ

How it works

ตรวจสอบข้อมูลก่อนคำนวณ

ใช้ IF(ISNUMBER(A1), A1*2, 0) เพื่อป้องกัน Error เมื่อนำข้อความไปคูณตัวเลข

Data Validation

ตรวจสอบว่า User กรอกข้อมูลเป็นตัวเลขที่ถูกต้องหรือไม่ (เช่น เบอร์โทร, ราคา) ไม่ใช่กรอกตัวหนังสือมา

Examples

ตรวจสอบตัวเลขปกติISNUMBER(123)

123 เป็นตัวเลข จึงได้ค่า TRUE

fx
=ISNUMBER(123)

ผลลัพธ์TRUE
ตรวจสอบตัวเลขที่เป็นข้อความISNUMBER("123")

"123" อยู่ในเครื่องหมายคำพูด ถือเป็นข้อความ (Text) ไม่ใช่ตัวเลข จึงได้ค่า FALSE (นี่คือจุดที่คนมักพลาด)

fx
=ISNUMBER("123")

ผลลัพธ์FALSE
ตรวจสอบวันที่ISNUMBER(TODAY())

วันที่ใน Excel แท้จริงแล้วคือตัวเลข (Serial Number) ดังนั้น ISNUMBER จึงมองวันที่เป็นตัวเลขและคืนค่า TRUE

fx
=ISNUMBER(TODAY())

ผลลัพธ์TRUE
กรองออเดอร์ด่วนจากคอลัมน์บันทึกคำสั่งซื้อ (ร่วมกับ SEARCH)ISNUMBER(SEARCH("ด่วน",A2))

SEARCH("ด่วน",A2) คืนตำแหน่งตัวอักษรเป็นตัวเลขถ้าเจอคำนั้น หรือคืน error #VALUE! ถ้าไม่เจอ ISNUMBER จึงแปลงผลลัพธ์นั้นให้เป็น TRUE/FALSE ที่ใช้กรองหรือทำเงื่อนไขต่อได้ทันที ทีมคลังสินค้าใช้แบบนี้ดักออเดอร์ที่ลูกค้าเขียนหมายเหตุว่าด่วนไว้ในคอลัมน์บันทึกอิสระ

fx
=ISNUMBER(SEARCH("ด่วน",A2))

ผลลัพธ์TRUE (ถ้า A2 มีคำว่า "ด่วน" อยู่ตรงไหนก็ได้)
ตั้ง Data Validation บังคับให้กรอกตัวเลขเท่านั้นISNUMBER(A2)

ตั้งกฎ Data Validation ที่ช่อง "จำนวนสินค้า" ด้วยสูตรกำหนดเอง =ISNUMBER(A2) ถ้าผู้กรอกพิมพ์ "สิบ" หรือเว้นช่องว่างแทนตัวเลข Excel จะเด้งเตือนทันทีก่อนบันทึก ป้องกันข้อมูลเพี้ยนตั้งแต่ต้นทางแทนที่จะไปตรวจพบทีหลังตอนคำนวณผิด

fx
=ISNUMBER(A2)

ผลลัพธ์TRUE/FALSE ใช้เป็นเงื่อนไขใน Data Validation > Custom

FAQs

ทำไม "123" ถึงไม่ใช่ตัวเลข?+

ใน Excel "123" คือ Text string ที่หน้าตาเหมือนตัวเลข แต่มีคุณสมบัติเป็นข้อความ (เช่น ชิดซ้ายเซลล์) ISNUMBER จะเช็คที่ Data Type จริงๆ เท่านั้น

ถ้าอยากเช็คว่าเป็นตัวเลขหรือไม่ (รวมถึง Text ที่เป็นเลขด้วย) ต้องใช้อะไร?+

สามารถใช้ฟังก์ชัน ISNUMERIC (ในบางโปรแกรม) หรือใช้สูตร =ISNUMBER(VALUE(A1)) เพื่อลองแปลงเป็นตัวเลขดูก่อน

ISNUMBER(TRUE) หรือ ISNUMBER(FALSE) ได้ค่าอะไร?+

ได้ FALSE ครับ เพราะ TRUE และ FALSE เป็น Logical values ไม่ใช่ตัวเลข (แม้บางทีจะมีค่าเทียบเท่า 1 และ 0 ก็ตาม)

วันที่และเวลาใน Excel จะ ISNUMBER ได้ TRUE หรือ FALSE?+

ได้ TRUE ครับ เพราะ Excel เก็บวันที่และเวลาเป็นตัวเลข (Serial Number) ดังนั้น =ISNUMBER(TODAY()) จะได้ TRUE

ISNUMBER ร่วมกับ SEARCH ต่างกันอย่างไร?+

ISNUMBER(SEARCH("text", A1)) ใช้ค้นหา "text" ในเซลล์ A1 ถ้าเจอจะคืน Position (ตัวเลข) ส่วน ISNUMBER เช็คว่าผลลัพธ์เป็นตัวเลขหรือไม่ (TRUE ถ้าเจอ FALSE ถ้าไม่เจอ)

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ ISNUMBER จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้ISNUMBERInformation
Information (8)
ISBLANK

ISBLANK ตรวจสอบเซลล์ว่างจริงเท่านั้น หากเซลล์มีสูตรคืนค่า "" (empty string) จะถือว่าไม่ว่าง

ISERROR

ISERROR ตรวจสอบค่าว่าเป็น Error หรือไม่ โดยครอบคลุม Error ทุกประเภทใน Excel ได้แก่ #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, และ #NULL! มักใช้คู่กับ IF เพื่อแสดงข้อความเตือนหรือจัดการกับ Error ก่อนที่จะแสดงผล

ISFORMULA

ตรวจสอบว่าเซลล์ที่อ้างอิงมีสูตรอยู่หรือไม่ คืนค่า TRUE ถ้าเซลล์นั้นเป็นสูตร และ FALSE ถ้าเป็นค่าคงที่หรือเซลล์ว่าง ใช้ตรวจสอบไฟล์ก่อนแก้ไข

ISLOGICAL

ISLOGICAL เช็คว่าเซลล์เป็นค่าตรรกะ (TRUE หรือ FALSE) จริง ๆ หรือเพียงแค่ข้อความที่อ่านดูเหมือน

ISNONTEXT

ตรวจสอบว่าค่าในเซลล์ไม่ใช่ข้อความ (ตัวเลข วันที่ ค่าว่าง หรือสูตร) แล้วคืนค่า TRUE ใช้กรองข้อมูลก่อนคำนวณ หรือเช็คว่าผู้ใช้กรอกตัวเลขผิดเป็นข้อความหรือไม่

ISOMITTED

ตรวจสอบว่า Argument (พารามิเตอร์) ที่กำหนดใน LAMBDA แบบ Optional ถูกละเว้นไม่ได้ใส่ค่ามาหรือไม่ ใช้ร่วมกับ IF เพื่อตั้งค่า Default ให้ Custom Function

ISREF

ตรวจสอบว่าค่าที่ส่งเข้าไปเป็นการอ้างอิงเซลล์ (Reference) จริง ๆ หรือแค่ค่าธรรมดา คืนค่า TRUE หรือ FALSE

ISTEXT

ISTEXT ตรวจสอบว่าค่าในเซลล์เป็นข้อความจริงหรือไม่ จุดเด่นของมันคือมันแยกความแตกต่างระหว่าง '123' (ข้อความ) กับ 123 (ตัวเลข) ซึ่งช่วยเมื่อต้องการตรวจสอบรูปแบบข้อมูลก่อนคำนวณ

Text (2)
REGEXTEST

REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ

SEARCH

SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ

Math and trigonometry (2)
SIGN

SIGN ใช้ตรวจสอบเครื่องหมายของตัวเลข โดยคืนค่า 1 (บวก), 0 (ศูนย์), หรือ -1 (ลบ) สะดวกมากเวลาต้องแยกความแตกต่างของตัวเลข

SQRT

SQRT คำนวณรากที่สองของตัวเลข ใช้ได้กับจำนวนบวกเท่านั้น ถ้าเป็นจำนวนลบจะ error #NUM!

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่