bin2dec表示excel中超过10位的数字

时间:2016-02-29 06:13:46

标签: excel excel-formula

我有一个有28位二进制数的excel。我需要将它们转换为十进制数,但函数bin2dec不能处理超过10位的数字。任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:4)

使用以下公式来模仿隐含大于10位的BIN2DEC function

=SUMPRODUCT(--MID(A2,LEN(A2)+1-ROW(INDIRECT("1:"&LEN(A2))),1),(2^(ROW(INDIRECT("1:"&LEN(A2)))-1)))

请记住,Excel的数字精度为15位数。如果您想要28位数字,请将单元格格式化为文本,或将单个字符串前缀(例如')作为PrefixCharacter property

bin2dec_greater_than_10

答案 1 :(得分:0)

我用数学方法强行将其强行使用,这可能不太雅致,但是对于16位数字(其中会显示前导0的数字),此方法有效,并且可以轻松地适应较长的字符串

如果您使用固定长度的字,例如验证存储器中的值,BIT寄存器等,这会很好地工作。

16 bit
=BIN2DEC(LEFT(R5,8))*2^8+BIN2DEC(RIGHT(R5,8))

32 bit could be 
=BIN2DEC(MID(R10,1,8))*2^24+BIN2DEC(MID(R10,9,8))*2^16+BIN2DEC(MID(R10,17,8))*2^8+BIN2DEC(MID(R10,25,8))

同样,如果您输入的是固定长度的输入,则可以显示前导零。