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,作为生成的字符

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

相关推荐
会飞的小菠菜4 小时前
如何根据Excel数据表生成多个合同、工作证、录取通知书等word文件?
word·excel·模板·数据表·生成文件
Access开发易登软件10 小时前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
課代表11 小时前
VBA 中的 Excel 工作表函数
excel·vba·函数·对象·属性·range·静态变量
UrbanJazzerati16 小时前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
m0_5557629019 小时前
Excel ——INDEX + MATCH 组合
excel
焚 城19 小时前
Excel数据导出小记二: [大数据示例]
大数据·excel
偷心伊普西隆21 小时前
Python EXCEL 小技巧:最快重新排列dataframe函数
python·excel
Leslie_Lei21 小时前
【EasyExcel】Excel工具类2.0
excel
HappyAcmen1 天前
【自动化实战】Python操作Excel/WORD/PDF:openpyxl与docx库详解
python·自动化·excel
CHEN5_021 天前
【CouponHub项目开发】EasyExcel解析Excel并使用线程池异步执行和延时队列兜底
java·数据库·excel