【转bin】EXCEL数据转bin

如果DEC2BIN函数的默认设置无法满足需求(它最多只能处理10位的二进制转换),可以通过VBA宏方法来处理较大数的二进制转换并提取特定位置的数字:

十进制转二进制(不限位宽)

  • 1、打开VBA编辑器(Alt + F11)
    在Excel中,通过"开发工具"选项卡(如果没有显示,可以在"文件 - 选项 - 自定义功能区"中勾选"开发工具"),点击"Visual Basic"进入VBA编辑器。
  • 2、编写转换函数代码
    在VBA编辑器中插入一个新的模块,然后输入以下代码:
    超过32位可以用LongLong数据类型,不过可能某些版本不支持该类型
vbnet 复制代码
Function DEC2BIN_LARGE(num As Long) As String
    Dim binStr As String
    binStr = ""
    Do While num > 0
        binStr = IIf(num Mod 2 = 0, "0", "1") & binStr
        num = Int(num / 2)
    Loop
    DEC2BIN_LARGE = binStr
End Function

或者

vbnet 复制代码
Function DEC2BIN_FULL(num As Long, bits As Integer) As String
    Dim binStr As String
    binStr = ""
    Do While num > 0
        binStr = IIf(num Mod 2 = 0, "0", "1") & binStr
        num = Int(num / 2)
    Loop
    '如果二进制字符串长度小于指定的位数,则在左侧补0
    While Len(binStr) < bits
        binStr = "0" & binStr
    Wend
    DEC2BIN_FULL = binStr
End Function
  • 3、自定义函数进行转换和提取
    回到Excel工作表,在某个单元格(假设数据131072在A1单元格)中使用自定义函数=DEC2BIN_LARGE(A1)得到完整的二进制表示。然后按照之前的方法,使用MID函数提取第0 - 9位,如在B1单元格输入=MID(DEC2BIN_LARGE(A1),1,10)
相关推荐
CodeCraft Studio1 小时前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建气泡图
信息可视化·c#·excel·aspose·excel api库·excel气泡图·excel组件库
CodeCraft Studio1 小时前
国产化Excel开发组件Spire.XLS教程:使用Python批量删除Excel分页符
开发语言·python·excel·python开发·spire.xls·excel api库·excel开发组件
缺点内向2 小时前
C#:轻松实现Excel到TXT的转换
后端·c#·.net·excel
ghgxm5202 小时前
EXCEL使用VBA代码实现按条件查询数据库--简单实用
开发语言·数据仓库·笔记·excel·数据库开发
kaka-3331 天前
微信小程序中使用 xlsx(xlsx.mini.min.js)实现 Excel 导入导出功能
javascript·微信小程序·excel
开开心心_Every1 天前
优化C盘存储:自定义软件文档保存路径工具
java·网络·数据库·typescript·word·asp.net·excel
狮子也疯狂1 天前
【天翼AI-星辰智能体平台】| 基于Excel表实现智能问数助手智能体开发实战
人工智能·oracle·excel
梦幻通灵2 天前
Excel序列生成的4种方案实战
excel
2501_930707783 天前
使用C#代码将 Excel 转换为 ODS,或将 ODS 转换为 Excel
excel
缺点内向3 天前
如何在 C# .NET 中将 Markdown 转换为 PDF 和 Excel:完整指南
pdf·c#·.net·excel