函数
函数MID(text, start_num, num_chars)
返回文本字符串中从指定位置开始的特定数目的字符
text 必需。 包含要提取字符的文本字符串。
start_num 必需。 文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。
num_chars 必需。 指定希望 MID 从文本中返回字符的个数。
连接符 “&”
用来拼接字符
函数BIN2HEX(number, [places])
将二进制数转换为十六进制数
"number” 必需。 要转换的二进制数。 Number 包含的字符不能超过 10 个(10 位)。 Number 的最高位为符号位。 其余 9 位是数量位。 负数用二进制补码记数法表示。
【places】 可选。 要使用的字符数。 如果省略 Places,BIN2HEX 将使用必需的最小字符数。 Places 可用于在返回的值前置 0(零)。
注意:如果 Number 是非法二进制数,或其包含的字符多于 10 个(10 位),则 BIN2HEX 返回 #NUM! 错误值。
举例
如果想要把12位的二进制数转换为十六进制显示,应该如何实现呢?
思路:先拆分成8位和4位(MID),分别转换(BIN2HEX)再拼接(“&”)。
A | B | C | D | E | F | G | H | I | J | K | L | M | N | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | bit11 | bit10 | bit9 | bit8 | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | 二进制 | 十六进制 |
2(显示值) | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 111110100110b | 0xFA6 |
(输入的代码) | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | =A1&B1&C1&D1&E1&F1&G1&H1&I1&J1&K1&L1&“b” | =“0x”&BIN2HEX(MID(M2,1,8))&BIN2HEX(MID(M2,9,4)) |
注释:MID(M2,1,8) 截取二进制数的前八位,1~8;BIN2HEX(MID(M2,1,8))将前8位转换为十六进制;
MID(M2,9,4)截取二进制数的后4位,9~12;BIN2HEX(MID(M2,9,4))将后4位转换为十六进制;
& 拼接符
参考链接:
1、https://support.microsoft.com/zh-cn/office/mid-midb-%E5%87%BD%E6%95%B0-d5f9e25c-d7d6-472e-b568-4ecb12433028?ns=excel&version=19&syslcid=2052&uilcid=2052&appver=zxl190&helpid=xlmain11.chm60079&ui=zh-cn&rs=zh-cn&ad=cn
2、https://support.microsoft.com/zh-cn/office/bin2hex-%E5%87%BD%E6%95%B0-0375e507-f5e5-4077-9af8-28d84f9f41cc?ns=excel&version=19&syslcid=2052&uilcid=2052&appver=zxl190&helpid=xlmain11.chm60443&ui=zh-cn&rs=zh-cn&ad=cn