ป้ายกำกับ: Logical Function

  • XOR (Function)

    XOR (Function)

    XOR หรือ Exclusive Or เป็นฟังก์ชัน Logical คล้ายคลึงกับการใช้ OR แต่ก็มีบางส่วนที่ไม่แตกต่างกันบ้าง เล็กน้อย

    XOR

    XOR(เงื่อนไข1, [เงื่อนไข2],…)

    ก็เหมือนกับ OR นั่นคือ ต้องระบุตรรกะ อย่างน้อย 1 ค่า และจะส่งลัพธ์การทดสอบออกมาเป็น True หรือ False เท่านั้น

    (เราสามารถใช้เงื่อนไขได้ถึง 254 เงื่อนไข)

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

    ถ้าอาร์กิวเมนต์อาร์เรย์หรืออาร์กิวเมนต์การอ้างอิงเป็นเซลล์ข้อความหรือเซลล์ว่าง ค่าเหล่านั้นจะถูกละเว้นไป

    ถ้าช่วงที่ระบุไม่มีค่าตรรกะ XOR จะส่งผลลัพธ์เป็น #VALUE! (ค่าผิดพลาด)

    OR VS XOR

    ถึงแม้ว่าจะมีความคล้ายคลึงกับ ฟังก์ชัน OR อย่างมาก แต่ในความเป็นจริง จะมีบางอย่างไม่เหมือนกัน จะยกตัวอย่างดังนี้

    สำหรับ OR นั้น จะให้ผลลัพธ์เป็นจริง (True) แค่มี 1 เงื่อนไขที่เป็นจริงก็พอแล้ว

    แต่ Exclusive Or นั้น ถ้าจำนวนเงื่อนไขที่เป็นจริง (True) เป็นเลขคี่ จะให้ผลลัพธ์เป็น จริง

    ถ้าจำนวนเงื่อนไขที่เป็นจริง (True) เป็นเลขคู่ หรือ จะให้ผลลัพธ์เป็น เท็จ

    อ้าว งง งงละสิ ตอนที่เห็นข้อกำหนดของฟังก์ชันนี้แรก ๆ ก็งงเหมือนกัน

    ก่อนอื่น ดูภาพประกอบก่อน ตัวอย่างนี้สร้างเงื่อนไขมา 4 เงื่อนไข โดยให้ค่า True / False  ตามที่เห็น

    XOR
    ตัวอย่างความแตกต่างระหว่าง OR และ XOR

    ดูที่ลำดับที่ 1 จากเงื่อนไข 4 เงื่อนไข เป็น True ทั้ง 4 เงื่อนไข ถ้าเป็นฟังก์ชัน OR จะเป็น True (เพราะสำหรับ OR แล้ว ถ้ามีเงื่อนไขใดเงื่อนไขหนึ่งเป็น True ก็จะเป็น True ทั้งหมด ดังนั้น ในลำดับที่ 1 – 4 ผลลัพธ์ของ OR จะเป็น True ทั้งหมด เพราะมีเงื่อนไขที่เป็น True อย่างน้อย 1 เงื่อนไข

    แต่ในลำดับที่ 1 ถ้าใช้ฟังก์ชัน XOR ก็จะได้ False เพราะว่า จำนวนเงื่อนไขที่เป็นจริง (True) เป็นเลขคู่ (คือ 4 เงื่อนไขเป็น True)เช่นเดียวกับลำดับที่ 3 ซึ่งมี 2 เงื่อนไขเป็น True จึงได้ผลลัพธ์เป็น False

    ในขณะที่ ลำดับที่ 2 และ 4 มีเงื่อนไขที่เป็น True 3 และ 1 เงื่อนไข ซึ่งเป็นจำนวนเงื่อนไขเลขคี่ จึงให้ผลลัพธ์เป็น True

    แล้วการวางลำดับ คู่ คี่ มีไว้ทำไม? แล้วใครจะเป็นคนใช้

    นั่นสิ พอลองค้นหาใน google ก็เห็นว่าไปในทางการเขียนโปรแกรมเป็นส่วนใหญ่ เช่น

    https://blog.loginradius.com/engineering/how-does-bitwise-xor-work/

    แต่จะเทียบอย่างนี้

    สมมติเหตุการณ์ทดสอบความมีสติของเรา ด้วยสถานการณ์ 3 อย่างคือ

    ฝนตกหรือไม่ / เราอยู่ในบ้านหรือเปล่า / และ เรากางร่มหรือเปล่า

    โดยสรุปผลเป็น “ถูกแล้ว” ถ้าเป็น True และ “บ้าเปล่า?” ถ้าเป็น False

    XOR

    ดูสถานการณ์แรก ฝนตก อยู่ในบ้าน เรากางร่ม ผลลัพธ์ก็จะเป็น “บ้าเปล่า?” ใครจะไปกางร่มในบ้านตอนฝนตก? จริงมั้ยครับ อันนี้ดู make sense หน่อย แต่จะใช้ฟังก์ชันไหนก็ไม่ต่างกัน

    แต่มาดูอีก 2 สถานการณ์

    ฝนตก เราอยู่ในบ้าน โดยไม่กางร่ม ผลลัพธ์ก็จะเป็น “ถูกแล้ว” เราจะไปกางร่มทำไม หรือ เราจะออกนอกบ้านทำไมให้เปียกเปล่า ๆ

    หรือ

    ฝนตก เราอยู่นอกบ้าน กางร่ม ผลลัพธ์ก็จะเป็น “ถูกแล้ว” ถึงจะฝนตก และ อยู่นอกบ้าน แต่อย่างน้อยก็มีร่มกันฝน

    2 สถานการณ์นี้ ถ้าเราใช้ OR จะกลายเป็น “บ้าเปล่า?” เพราะ มีเงื่อนไขหนึ่งเป็น True

    พอเป็นแบบนี้ การใช้ Exclusive Or ก็ดูสมเหตุผลขึ้นมาทันที

  • IS (Function)

    IS (Function)

    IS เป็นฟังก์ชันด้านตรรกะ ที่มีฟังก์ชันย่อยภายในหลายตัว โดยที่แต่ละตัวจะตรวจสอบค่าที่ระบุ และส่งกลับค่า TRUE หรือ FALSE โดยขึ้นอยู่กับผลลัพธ์ที่ได้

    ฟังก์ชัน IS

    ฟังก์ชัน IS มีฟังก์ชันย่อยดังนี้

    • ISBLANK(value) – value อ้างอิงไปยังเซลล์ว่าง
    • ISERR(value) – value อ้างอิงไปยังค่าความผิดพลาดใดๆ ยกเว้น #N/A
    • ISERROR(value) – value อ้างอิงไปยังค่าความผิดพลาดใดๆ (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME? หรือ #NULL!)
    • ISLOGICAL(value) – vlue อ้างอิงไปยังค่าตรรกะ
    • ISNA(value) – value อ้างอิงไปยังค่าความผิดพลาด #N/A (ค่าที่ไม่พร้อมใช้งาน)
    • ISNONTEXT(value) – value อ้างอิงไปยังรายการใดๆ ที่ไม่ได้เป็นข้อความ (โปรดทราบว่าฟังก์ชันนี้จะส่งกลับค่า TRUE ถ้าค่าอ้างอิงไปยังเซลล์ว่าง)
    • ISNUMBER(value) – value อ้างอิงไปยังตัวเลข
    • ISREF(value) – value อ้างอิงไปยังการอ้างอิง
    • ISTEXT(value) – value อ้างอิงไปยังข้อความ

    แต่ละฟังก์ชัน ใช้ value หรือ ค่า เป็นตัวแปรในไวยากรณ์สำหรับการทดสอบตรรกะทั้งสิ้น

    ตัวอย่าง

    ที่เซลล์ A1 เราใส่ข้อมูลว่า “Def Excel”

    และเราเขียนสูตรดังนี้

    =ISBLANK(A1)

    ฟังก์ชันนี้จะตรวจสอบว่า เซลล์ A1 เป็นเซลล์ว่างใช่หรือไม่ คำตอบคือ ไม่ใช่ ส่งผลลัพธ์เป็น False หรือ เท็จ – ไม่จริง

    IS- function

    ลองดูสูตรอื่น ๆ จะเห็นว่าเป็น TRUE เพียงแค่

    =ISREF(A1)

    กับ

    =ISTEXT(A1)

    เท่านั้น

    ข้อควรระวัง

    เครื่องหมายอัญประกาศคู่ (“) จะระบุว่าเป็นข้อความ นั่นหมายความว่า 4 จะไม่เท่ากับ “4” และ True จะไม่เท่ากับ “True”

    IS Function

    ถ้าเราใช้ ISNUMBER(4) จะได้ผลเป็น True แต่ ถ้าใช้ ISNUMBER(“4”) จะได้ผลลัพธ์เป็น False

    ถ้าเราใช้ ISLOGICAL(True)  จะได้ผลเป็น True แต่ ถ้าใช้ ISLOGICAL(“True”)  จะได้ผลลัพธ์เป็น False

    อ้างอิง: ข้อมูลจากเว็บไซต์ไมโครซอฟต์

  • ฟังก์ชัน NOT

    ฟังก์ชัน NOT

    ฟังก์ชัน NOT เป็น Logical Function อย่างหนึ่งที่จะใช้เพื่อส่งกลับค่า TRUE หรือ FALSE (จริงหรือเท็จ)ที่ตรงกันข้ามกันกลับมา

    (เพิ่มเติม…)
  • AND (Function)

    AND (Function)

    AND เป็น Logical Function อย่างหนึ่งที่จะใช้เพื่อส่งกลับค่า TRUE หรือ FALSE (จริงหรือเท็จ)กลับมา

    (เพิ่มเติม…)
  • ฟังก์ชัน OR

    ฟังก์ชัน OR

    ฟังก์ชัน OR เป็น Logical Function อย่างหนึ่งที่จะใช้เพื่อส่งกลับค่า TRUE หรือ FALSE จริงหรือเท็จ กลับมา

    (เพิ่มเติม…)
  • การใช้ IF / IFS

    การใช้ IF / IFS

    การใช้ IF นี้จะพูดถึงการใช้งานฟังก์ชันเปรียบเทียบตรรกะ ของอะไรสักอย่างที่ต้องการทดสอบ ซึ่งต้องเป็นเงื่อนไขที่ได้ผลลัพธ์เพียงแค่สองอย่างคือ จริง กับ เท็จ หรือ True กับ False เท่านั้น

    (เพิ่มเติม…)