如何编写Excel公式实现32位二进制转十六进制并生成64位结果?
Excel 32位二进制转十六进制及64位拼接公式方案
1. 第一组32位二进制转0xFFFFFFFF格式十六进制
公式示例(建议将结果放在AF1单元格):
="0x"&TEXT(DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, A1:H1)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, I1:P1)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, Q1:X1)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, Y1:AE1)),2),"@")
- 逻辑:将32位二进制拆分为4组8位(规避Excel单值转换的范围限制),每组转成两位带前导零的十六进制,拼接后添加
0x前缀,最终输出标准8位十六进制格式。 - 注意:
TEXTJOIN适用于Excel 2019及以后版本,旧版可替换为CONCAT(A1:H1)(需确保每个单元格仅存单个0或1)。
2. 第二组32位二进制转0xFFFFFFFF格式十六进制
公式示例(建议将结果放在AF6单元格):
="0x"&TEXT(DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, A6:H6)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, I6:P6)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, Q6:X6)),2)&DEC2HEX(BIN2DEC(TEXTJOIN("", TRUE, Y6:AE6)),2),"@")
- 逻辑与第一个公式完全一致,仅引用范围替换为第二组的
A6:AE6。
3. 拼接两个32位十六进制为0xFFFFFFFFFFFFFFFF格式
公式示例(建议将结果放在AF8单元格):
="0x"&MID(AF1, 3, 8)&MID(AF6, 3, 8)
- 逻辑:用
MID提取两个32位结果中0x之后的8位十六进制字符,拼接后添加0x前缀,直接生成64位标准十六进制格式。
内容的提问来源于stack exchange,提问作者user2986042
相关产品推荐
相关产品推荐

