ISLOGICAL เช็คว่าเซลล์เป็นค่าตรรกะ (TRUE หรือ FALSE) จริง ๆ หรือเพียงแค่ข้อความที่อ่านดูเหมือน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| value | Any | ค่าที่ต้องการตรวจสอบ อาจเป็นเซลล์, สูตร, หรือค่าตัวเลข |
ISLOGICAL คือฟังก์ชันตรวจสอบประเภทข้อมูล มันบอกว่าค่าที่ระบุเป็นค่าตรรกะแท้ (TRUE หรือ FALSE) หรือไม่ ไม่ใช่แค่ตัวเลขหรือข้อความธรรมชาติ
ที่เจ๋งคือมันจะแยกความแตกต่างระหว่าง TRUE กับ “TRUE” (ข้อความ) ที่ชัดเจน ถ้าเขียน =ISLOGICAL(“TRUE”) มันจะส่งกลับ FALSE เพราะนั่นเป็นข้อความ ไม่ใช่ค่าตรรกะจริง ๆ
ส่วนตัวผมใช้ ISLOGICAL เมื่อต้องการกรองข้อมูลที่มาจากสูตรตรรกะ เช่น ลบแถวที่ให้ผลจากการคำนวณ AND/OR และต้องรู้ว่าเซลล์ไหนเป็นค่าตรรกะแท้
TRUE เป็นค่าตรรกะจริง ๆ ดังนั้น ISLOGICAL ส่งกลับ TRUE
สูตร 100>50 ให้ผลเป็น TRUE (ค่าตรรกะ) ดังนั้น ISLOGICAL ก็ส่งกลับ TRUE
"TRUE" เป็นข้อความ ไม่ใช่ค่าตรรกะจริง ๆ แม้ว่าอ่านดูเหมือน ISLOGICAL ก็ส่งกลับ FALSE
ตัวเลข 1 ไม่ใช่ค่าตรรกะ (แม้ว่า 1 อาจแทน TRUE ในบางภาษาโปรแกรม) ISLOGICAL ส่งกลับ FALSE เพราะมันเช็คชนิดข้อมูลจริง ไม่ใช่ค่าที่ตีความได้
สมมติ A1=TRUE (มาจาก checkbox), A2=FALSE (มาจาก checkbox), A3="TRUE" (ข้อความจากไฟล์ CSV ที่ import), A4=1, A5=ว่าง มีแค่ A1 กับ A2 ที่เป็นค่าตรรกะจริง ISLOGICAL จึงตอบ TRUE แค่ 2 เซลล์ SUMPRODUCT กับ — เลยแปลง TRUE/FALSE เป็น 1/0 แล้วบวกได้ 2 ใช้เคสนี้เวลาต้อง QA ข้อมูลก่อนเอาไปคำนวณต่อ
เพราะ "FALSE" เป็นข้อความ ไม่ใช่ค่าตรรกะจริง ๆ ผม TestFormulaText ด้วยตัวเองแล้ว TRUE/FALSE ที่ Excel รู้จักต้องมาจากสูตรหรือถูกพิมพ์โดยตรงไม่มี quotes
ใช้เมื่อต้องกรองเซลล์ที่มีค่าตรรกะแท้ เช่น ก่อนสร้างจำนวน TRUE/FALSE ให้ตัวแปรนับจำนวนใน SUMPRODUCT หรือตรวจสอบว่าผลของ AND/OR ได้ลงท้ายอย่างถูกต้อง
Excel บางครั้งแสดง 1 และ 0 แทน TRUE/FALSE แต่ตัวมันเองยังคงเป็นตัวเลข ISLOGICAL จะตอบ FALSE เสมอ ถ้าต้องการแปลง 1/0 เป็นค่าตรรกะจริง ๆ ให้ใช้ IF(A1=1,TRUE,FALSE)
ต่างกันเยอะครับ A1=TRUE เป็นการเปรียบเทียบค่า ซึ่ง Excel จะ coerce ข้อความ "TRUE" ให้เท่ากับ TRUE ได้ (=("TRUE"=TRUE) ให้ผล TRUE) ทำให้แยกไม่ออกว่าเซลล์เป็นข้อความหรือค่าตรรกะจริง ส่วน ISLOGICAL เช็คชนิดข้อมูลตรงๆ ถ้าเป็นข้อความจะตอบ FALSE เสมอ ไม่ว่าจะเขียนว่าอะไร
ISLOGICAL ไม่ propagate error ออกมาให้เห็น แต่จะตอบ FALSE เพราะ error value ไม่ใช่ค่าตรรกะ ถ้าต้องการตรวจ error โดยเฉพาะให้ใช้ ISERROR หรือ ISNA แทน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ ISLOGICAL จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ISBLANK ตรวจสอบเซลล์ว่างจริงเท่านั้น หากเซลล์มีสูตรคืนค่า "" (empty string) จะถือว่าไม่ว่าง
ตรวจสอบว่าค่าที่ระบุเป็นค่า Error หรือไม่ ยกเว้น #N/A ใช้คู่กับ IF เพื่อดักจับ Error อย่าง #DIV/0! หรือ #VALUE! ก่อนแสดงผลลัพธ์ให้ผู้ใช้เห็น
ISNA ตรวจสอบเฉพาะ Error #N/A ที่เกิดจากการค้นหาไม่เจอในฟังก์ชันต่างๆ เช่น VLOOKUP หรือ MATCH มีประโยชน์มากเมื่อต้องแยกแยะระหว่าง "หาไม่เจอ" กับ "สูตรคิดผิด"
ISNUMBER ตรวจสอบค่าที่ระบุว่าเป็นประเภทตัวเลขหรือไม่ (รวมถึงวันที่และเวลาซึ่ง Excel เก็บเป็นตัวเลข) แต่จะไม่นับตัวเลขที่ถูกจัดเก็บเป็นข้อความ (Numbers stored as text) ผลลัพธ์ที่ได้คือ TRUE หรือ FALSE
ISTEXT ตรวจสอบว่าค่าในเซลล์เป็นข้อความจริงหรือไม่ จุดเด่นของมันคือมันแยกความแตกต่างระหว่าง '123' (ข้อความ) กับ 123 (ตัวเลข) ซึ่งช่วยเมื่อต้องการตรวจสอบรูปแบบข้อมูลก่อนคำนวณ
TYPE ส่งกลับตัวเลข (1-128) ที่ระบุชนิดของข้อมูล เช่น ตัวเลข ข้อความ ค่าตรรกะ หรือข้อผิดพลาด
AND ตรวจสอบเงื่อนไขได้สูงสุด 255 เงื่อนไข โดยจะคืนค่า TRUE ก็ต่อเมื่อ Logical ทุกตัว (logical1, logical2,…) ให้ผลเป็น TRUE ทั้งหมด
.
เรียกได้ว่าเป็นแบบ 'เข้มงวด' ที่ต้องผ่านทุกข้อถึงจะได้ TRUE ครับ ถ้าสักข้อเดียวเป็น FALSE… จบเลย 😅
OR คือฟังก์ชันตรรกศาสตร์ที่ตรวจสอบเงื่อนไขได้สูงสุด 255 ข้อ และจะคืนค่า TRUE ถ้ามี 'เงื่อนไขใดเงื่อนไขหนึ่ง' เป็นจริง เป็นเครื่องมือจำเป็นสำหรับการสร้างเงื่อนไขที่ยืดหยุ่น
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่