excel中使地址按十六进制进行数值递增的函数

这里是尼德兰的喵·工具相关文章,欢迎您的访问!

如果文章对您有所帮助,期待您的点赞收藏!

让我们一起为成为芯片前端全栈工程师而努力!

在进行寄存器编写时很多时候会涉及到算地址的问题,通常32bit位宽的寄存器地址每次偏移4,那么典型的场景就是下图:

那这一看显然不是直接拖鼠标就能完成的了,所以我们需要借助一些exel的内置函数。最后整合到一起呢就是这样:

复制代码
="0x"&DEC2HEX(HEX2DEC(RIGHT(B4,4))+4,4)

看起来非常的乱,咱们拆解这一步步看就很清晰了:

复制代码
=RIGHT(B4,4) 
//把上一个单元格如0x0010,取右边四个字符0010,如果地址宽度表示不是4就改一下
//如果不确定宽度就用RIGHT(B4, len(B4)-2)把前面的0x减去就行

=HEX2DEC(RIGHT(B4,4))
//把截出来的0010转成由十六进制转成十进制

=HEX2DEC(RIGHT(B4,4))+4
//地址+4作为本寄存器的偏移地址

=DEC2HEX(HEX2DEC(RIGHT(B4,4))+4,4)
//将计算得到的十进制地址转为十六进制,字符宽度为4,如果4个位宽不够那这里可以改

="0x"&DEC2HEX(HEX2DEC(RIGHT(B4,4))+4,4)
//将得到的十六进制地址前缀0x,作为生成的字符

所以之后做寄存器文档时候,只要是连续的地址空间把第一个地址写好,之后就用这个函数顺着往下一拽就可以了!

相关推荐
Eloudy6 小时前
GPU-Initiated Networking (GIN)及其核心硬件基础 SCI
ic·gpu
办公解码器10 小时前
Excel工作表打开一次后自动销毁文件,回收站中都找不到
数据库·excel
mudtools12 小时前
.NET驾驭Excel之力:工作簿与工作表操作基础
c#·.net·excel
mudtools12 小时前
.NET驾驭Excel之力:单元格与区域操作详解
c#·.net·excel
秋天之落叶16 小时前
使用ADO将excel表内容加载到mssql表中的长度问题
数据库·sqlserver·excel
1314lay_100716 小时前
SAP ABAP 导入excel表,导多个sheet
excel·abap
玩泥巴的19 小时前
.NET驾驭Excel之力:工作簿与工作表操作基础
c#·excel·二次开发·office·com互操作
mysusheng1 天前
2025 批量下载微博内容/图片/视频,导出word和pdf,微博点赞/评论/转发等数据导出excel
pdf·word·excel
办公解码器2 天前
Excel工作簿自动销毁功能,使用时间到期后自动删除文件
excel
MediaTea2 天前
Python 第三方库:OpenPyXL(Excel 文件读写与操作)
开发语言·python·excel