TLDR สรุปสั้นๆ
BITRSHIFT ใช้เลื่อนบิตของตัวเลขไปทางขวาตามจำนวนที่ระบุ จะลบเลขฐานสองที่ถูกตัดออก
คำอธิบาย
ฟังก์ชัน BITRSHIFT ใช้ในการเลื่อนบิตของตัวเลขไปทางขวาตามจำนวนบิตที่ระบุ เป็นการลบเลขฐานสองทางขวาออกตามจำนวนที่ระบุ
มีครั้งแรกในเวอร์ชันไหน
2013
รูปแบบคำสั่ง (Syntax)
BITRSHIFT(number, shift_amount)
Arguments
-
number (Required – Integer)
ตัวเลขที่ต้องการเลื่อนบิต ต้องเป็นจำนวนเต็มมากกว่าหรือเท่ากับ 0 -
shift_amount (Required – Integer)
จำนวนบิตที่ต้องการเลื่อน ต้องเป็นจำนวนเต็ม
ตัวอย่างการใช้งาน (Examples)
-
Formula:
Description: เลื่อนบิตของ 13 ไปทางขวา 2 บิต=BITRSHIFT(13, 2)
Result:3 (13 ในเลขฐานสองคือ 1101 เมื่อเลื่อนขวา 2 บิตจะเหลือ 11 ซึ่งมีค่าเท่ากับ 3 ในระบบเลขฐานสิบ) -
Formula:
Description: เลื่อนบิตของ 8 ไปทางขวา 1 บิต=BITRSHIFT(8, 1)
Result:4 (8 ในเลขฐานสองคือ 1000 เมื่อเลื่อนขวา 1 บิตจะเหลือ 100) -
Formula:
Description: เลื่อนบิตของ 15 ไปทางขวา 3 บิต=BITRSHIFT(15, 3)
Result:1 (15 ในเลขฐานสองคือ 1111 เมื่อเลื่อนขวา 3 บิตจะเหลือ 1) -
Formula:
Description: เลื่อนบิตของ 10 ไปทางซ้าย 2 บิตโดยใช้จำนวนลบ=BITRSHIFT(10, -2)
Result:40 (10 ในเลขฐานสองคือ 1010 เมื่อเลื่อนซ้าย 2 บิตจะกลายเป็น 101000 ซึ่งมีค่าเท่ากับ 40 ในระบบเลขฐานสิบ) -
Formula:
Description: ใช้ BITRSHIFT ตรวจสอบว่าผลลัพธ์เกินกว่าที่จะคำนวณได้หรือไม่โดยแสดงข้อความ "Error"=IFERROR(BITRSHIFT(100,5),"Error")
Result:3 (เหตุการณ์นี้ไม่เกิด Error แต่ถ้าเกิด #NUM! หรือ #VALUE! จะได้คำว่า "Error")
Tips & Tricks
คุณสามารถใช้ BITRSHIFT ร่วมกับฟังก์ชัน IFERROR ได้ เพื่อใช้ในการจัดการกับค่า error ที่อาจเกิดขึ้นเมื่อทำการเลื่อนบิตมากเกินไป
ข้อควรระวัง (Cautions)
ต้องระวังไม่ให้ค่า shift_amount มีค่าสัมบูรณ์มากเกินไป ซึ่งถ้าเกิน 53 อาจเกิด #NUM! และหาก number เกิน (2^48)-1 จะได้ #NUM! เช่นกัน นอกจากนี้ต้องแน่ใจว่า number และ shift_amount เป็นจำนวนเต็ม และไม่ใช่ค่านอกเหนือจากที่กำหนด มิฉะนั้นจะเกิด #VALUE!
ฟังก์ชันที่เกี่ยวข้อง
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply