ISNUMBER ตรวจสอบค่าที่ระบุว่าเป็นประเภทตัวเลขหรือไม่ (รวมถึงวันที่และเวลาซึ่ง Excel เก็บเป็นตัวเลข) แต่จะไม่นับตัวเลขที่ถูกจัดเก็บเป็นข้อความ (Numbers stored as text) ผลลัพธ์ที่ได้คือ TRUE หรือ FALSE
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| value | Any | ค่าหรือเซลล์ที่ต้องการตรวจสอบ |
ฟังก์ชัน ISNUMBER ใช้สำหรับตรวจสอบว่าค่าในเซลล์เป็นตัวเลข (Number) หรือไม่ โดยจะคืนค่าเป็น TRUE ถ้าเป็นตัวเลข และ FALSE ถ้าไม่ใช่ (เช่น เป็นข้อความ หรือ Error)
งานจริงที่เจอ ISNUMBER บ่อยที่สุดคือการตรวจสอบคุณภาพข้อมูลก่อนคำนวณ เช่น ทีมบัญชีดึงยอดขายจากระบบ POS หรือไฟล์ CSV มาแปะใน Excel แล้วบางแถวตัวเลขกลายเป็นข้อความ (ชิดซ้ายผิดปกติ) ทำให้ SUM คำนวณข้ามแถวนั้นไปเงียบๆ โดยไม่ฟ้อง error ใช้ ISNUMBER สแกนหาแถวที่มีปัญหาก่อนส่งรายงานต่อ อีกงานที่พบบ่อยคือตั้ง Data Validation บังคับให้ผู้กรอกฟอร์มใส่ตัวเลขในช่องจำนวนสินค้าหรือราคาเท่านั้น
จุดที่คนพลาดบ่อยที่สุดคือคิดว่า ISNUMBER(“123”) จะได้ TRUE เพราะเห็นเป็นตัวเลขด้วยตา แต่ Excel เก็บ “123” (มีเครื่องหมายคำพูด หรือมาจากการนำเข้าที่บังคับ format เป็นข้อความ) เป็น Text จริงๆ ไม่ใช่ Number จึงได้ FALSE เสมอ
ใช้ IF(ISNUMBER(A1), A1*2, 0) เพื่อป้องกัน Error เมื่อนำข้อความไปคูณตัวเลข
ตรวจสอบว่า User กรอกข้อมูลเป็นตัวเลขที่ถูกต้องหรือไม่ (เช่น เบอร์โทร, ราคา) ไม่ใช่กรอกตัวหนังสือมา
123 เป็นตัวเลข จึงได้ค่า TRUE
"123" อยู่ในเครื่องหมายคำพูด ถือเป็นข้อความ (Text) ไม่ใช่ตัวเลข จึงได้ค่า FALSE (นี่คือจุดที่คนมักพลาด)
วันที่ใน Excel แท้จริงแล้วคือตัวเลข (Serial Number) ดังนั้น ISNUMBER จึงมองวันที่เป็นตัวเลขและคืนค่า TRUE
SEARCH("ด่วน",A2) คืนตำแหน่งตัวอักษรเป็นตัวเลขถ้าเจอคำนั้น หรือคืน error #VALUE! ถ้าไม่เจอ ISNUMBER จึงแปลงผลลัพธ์นั้นให้เป็น TRUE/FALSE ที่ใช้กรองหรือทำเงื่อนไขต่อได้ทันที ทีมคลังสินค้าใช้แบบนี้ดักออเดอร์ที่ลูกค้าเขียนหมายเหตุว่าด่วนไว้ในคอลัมน์บันทึกอิสระ
ตั้งกฎ Data Validation ที่ช่อง "จำนวนสินค้า" ด้วยสูตรกำหนดเอง =ISNUMBER(A2) ถ้าผู้กรอกพิมพ์ "สิบ" หรือเว้นช่องว่างแทนตัวเลข Excel จะเด้งเตือนทันทีก่อนบันทึก ป้องกันข้อมูลเพี้ยนตั้งแต่ต้นทางแทนที่จะไปตรวจพบทีหลังตอนคำนวณผิด
ใน Excel "123" คือ Text string ที่หน้าตาเหมือนตัวเลข แต่มีคุณสมบัติเป็นข้อความ (เช่น ชิดซ้ายเซลล์) ISNUMBER จะเช็คที่ Data Type จริงๆ เท่านั้น
สามารถใช้ฟังก์ชัน ISNUMERIC (ในบางโปรแกรม) หรือใช้สูตร =ISNUMBER(VALUE(A1)) เพื่อลองแปลงเป็นตัวเลขดูก่อน
ได้ FALSE ครับ เพราะ TRUE และ FALSE เป็น Logical values ไม่ใช่ตัวเลข (แม้บางทีจะมีค่าเทียบเท่า 1 และ 0 ก็ตาม)
ได้ TRUE ครับ เพราะ Excel เก็บวันที่และเวลาเป็นตัวเลข (Serial Number) ดังนั้น =ISNUMBER(TODAY()) จะได้ TRUE
ISNUMBER(SEARCH("text", A1)) ใช้ค้นหา "text" ในเซลล์ A1 ถ้าเจอจะคืน Position (ตัวเลข) ส่วน ISNUMBER เช็คว่าผลลัพธ์เป็นตัวเลขหรือไม่ (TRUE ถ้าเจอ FALSE ถ้าไม่เจอ)
ฟังก์ชันที่ผู้เขียนโยงไว้กับ ISNUMBER จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ISBLANK ตรวจสอบเซลล์ว่างจริงเท่านั้น หากเซลล์มีสูตรคืนค่า "" (empty string) จะถือว่าไม่ว่าง
ISERROR ตรวจสอบค่าว่าเป็น Error หรือไม่ โดยครอบคลุม Error ทุกประเภทใน Excel ได้แก่ #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, และ #NULL! มักใช้คู่กับ IF เพื่อแสดงข้อความเตือนหรือจัดการกับ Error ก่อนที่จะแสดงผล
ตรวจสอบว่าเซลล์ที่อ้างอิงมีสูตรอยู่หรือไม่ คืนค่า TRUE ถ้าเซลล์นั้นเป็นสูตร และ FALSE ถ้าเป็นค่าคงที่หรือเซลล์ว่าง ใช้ตรวจสอบไฟล์ก่อนแก้ไข
ISLOGICAL เช็คว่าเซลล์เป็นค่าตรรกะ (TRUE หรือ FALSE) จริง ๆ หรือเพียงแค่ข้อความที่อ่านดูเหมือน
ตรวจสอบว่าค่าในเซลล์ไม่ใช่ข้อความ (ตัวเลข วันที่ ค่าว่าง หรือสูตร) แล้วคืนค่า TRUE ใช้กรองข้อมูลก่อนคำนวณ หรือเช็คว่าผู้ใช้กรอกตัวเลขผิดเป็นข้อความหรือไม่
ตรวจสอบว่า Argument (พารามิเตอร์) ที่กำหนดใน LAMBDA แบบ Optional ถูกละเว้นไม่ได้ใส่ค่ามาหรือไม่ ใช้ร่วมกับ IF เพื่อตั้งค่า Default ให้ Custom Function
ตรวจสอบว่าค่าที่ส่งเข้าไปเป็นการอ้างอิงเซลล์ (Reference) จริง ๆ หรือแค่ค่าธรรมดา คืนค่า TRUE หรือ FALSE
ISTEXT ตรวจสอบว่าค่าในเซลล์เป็นข้อความจริงหรือไม่ จุดเด่นของมันคือมันแยกความแตกต่างระหว่าง '123' (ข้อความ) กับ 123 (ตัวเลข) ซึ่งช่วยเมื่อต้องการตรวจสอบรูปแบบข้อมูลก่อนคำนวณ
REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่