TLDR สรุปสั้นๆ
BIN2HEX แปลงเลขฐานสองเป็นเลขฐานสิบหก เข้ากันได้กับ Excel ตั้งแต่เวอร์ชัน 2003
คำอธิบาย
แปลงเลขฐานสองให้เป็นเลขฐานสิบหกใน Excel ช่วยให้การทำงานกับข้อมูลในรูปแบบต่าง ๆ ง่ายขึ้น โดยเฉพาะถ้าต้องการแปลงตัวเลขจากฐานสองที่ใช้บ่อยในคอมพิวเตอร์ให้เป็นฐานสิบหกที่เข้าใจง่ายกว่า
มีครั้งแรกในเวอร์ชันไหน
2003 หรือ Version ก่อนหน้า
รูปแบบคำสั่ง (Syntax)
BIN2HEX(number, [places])
Arguments
-
number (Required – string)
เลขฐานสองที่ต้องการแปลง ต้องไม่ยาวเกิน 10 ตัวอักษร (10 bit) และเป็นตัวเลขในรูปแบบ binary จริงๆ ซึ่งใช้ค่ามากสุด (sign bit) เป็นบิตแรก และอีก 9 บิตที่เหลือเป็น magnitude bits -
places (Optional – integer)
จำนวนตัวอักษรที่ต้องการใช้ในผลลัพธ์ ถ้าไม่ได้ใส่ Excel จะใช้จำนวนตัวอักษรที่น้อยที่สุด ถ้าต้องใสเพื่อนำศูนย์บางตัวที่อยู่นำหน้าในการแสดงเป็นผลลัพธ์
ตัวอย่างการใช้งาน (Examples)
-
Formula:
Description: แปลงเลขฐานสอง 11111011 ให้เป็นเลขฐานสิบหกโดยใช้ 4 ตัวอักษรในการแสดงผลลัพธ์=BIN2HEX(11111011, 4)
Result:00FB (ได้ผลลัพธ์เป็น 4 ตัวอักษร มาพร้อมกับเลข 00 ที่เผื่อลงตัวอักษร) -
Formula:
Description: แปลงเลขฐานสอง 1110 ให้เป็นเลขฐานสิบหกโดยอัตโนมัติ (ใช้ตัวอักษรให้น้อยที่สุด)=BIN2HEX(1110)
Result:E (แสดงผลลัพธ์ในรูปแบบตัวอักษรที่เหมาะสม) -
Formula:
Description: แปลงเลขฐานสอง 1111111111 ที่เป็นค่าเต็มที่สุดให้เป็นเลขฐานสิบหก=BIN2HEX(1111111111)
Result:FFFFFFFFFF (เลขฐานสิบหกเต็มอิศเรอร์ เป็นเลขที่มี 10 ตัวอักษรแสดงถึงตัวเต็มที่สมบูรณ์) -
Formula:
Description: แปลงเลขฐานสองในเซลล์ A1 หากยาวไม่เกิน 10 บิต โดยเป็นตัวอักษร 8 ตำแหน่ง=IF(LEN(A1) > 10, "Invalid Input", BIN2HEX(A1, 8))
Result:แสดง 'Invalid Input' หรือแสดงผลลัพธ์ที่แปลงเลขฐานสองเป็นเลขฐานสิบหก (รองรับความยาวได้หลากหลาย) -
Formula:
Description: แปลงเลขฐานสองในเซลล์ A1 หากยาวไม่เกิน 10 บิต=IF(LEN(A1) <= 10, BIN2HEX(A1), "Input too long")
Result:แสดง 'Input too long' หรือแสดงผลลัพธ์ที่แปลงเลขฐานสองเป็นเลขฐานสิบหก (ตรวจสอบความยาวก่อนจะแปลง)
Tips & Tricks
ถ้าเลขฐานสองที่ใช้แปลงมีขนาดไม่เกิน 10 บิต ฟังก์ชัน BIN2HEX จะให้ผลลัพธ์ที่ถูกต้องแน่นอน แต่ควรระวังในกรณีที่ตัวเลขมากกว่า 10 บิต ซึ่งอาจส่งผลให้เกิดข้อผิดพลาดได้
ข้อควรระวัง (Cautions)
ตัวเลขฐานสองใน Excel ต้องไม่เกิน 10 บิต มิฉะนั้นจะเกิด #NUM! error ซึ่งทำให้การแปลงไม่ได้ผลลัพธ์ตามที่คาดหวัง
ฟังก์ชันที่เกี่ยวข้อง
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply