【问题标题】:Split binary number into multiple digits in excel在excel中将二进制数拆分为多个数字
【发布时间】:2020-03-04 19:58:45
【问题描述】:

我有一个十进制数,我可以使用 Excel 中的 DEC2BIN(单元格值)函数将其转换为二进制。 现在它在单个单元格中给出二进制值,相反,我希望二进制数中的每个数字进入多个单元格。

Data:

  A          |B         |C       |D       | E      --- Excel Columns
1|21
2|DEC2BIN(A1)
3|
4|

当前结果: 数据:

  A          |B         |C       |D       | E      --- Excel Columns
1|21
2|10101
3|
4|

期望的结果: 数据:

  A          |B         |C       |D       | E      --- Excel Columns
1|21
2|1          0          1        0        1
3|
4|

这可能吗?如果有怎么办?

【问题讨论】:

  • Data -> text to columns,固定宽度为1。您需要先将公式的结果转换为值
  • 那会破坏 A1 的值。

标签: excel


【解决方案1】:

在 A2 中:

=MID(DEC2BIN($A$1),COLUMN(A1),1)

然后复制它。您可以将其拖过超出您需要的范围。这将为您准备好使用它,以防您将拥有更大的数字。这样,您就不必不断更新代码。

或者,如果您打算将此代码用于多个二进制条目,您可以将数字放在 A 列中,然后根据需要复制以下内容:

=IF(ISBLANK($A1),"",MID(DEC2BIN($A1),COLUMN(A1),1))

【讨论】:

  • 感谢您的解决方案,如果不拖就没有新的答案,我会接受这个作为答案。
  • @SuryaTej 没有 vba 就没有其他方法了。如果 Office 365 Excel 中没有动态数组公式,则需要使用此公式并拖动。
【解决方案2】:

如果有动态数组公式:

=TRANSPOSE(MID(DEC2BIN(A1),SEQUENCE(LEN(DEC2BIN(A1))),1))

在 A2 和 Excel 中,结果会溢出。

【讨论】:

  • 我的 EXCEL 2013 没有 SEQUENCE 功能,使用它时会抛出名称错误。
  • 然后使用另一个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 2016-07-25
相关资源
最近更新 更多