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

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

相关推荐
qq_2975746710 小时前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
JSMSEMI112 天前
JSMCV520 非接触式读卡器IC
芯片·电子
曹牧2 天前
Excel:筛选两列中不匹配项
excel
それども2 天前
Excel文件解析 - 什么是SAX和DOM
java·excel
それども2 天前
Excel文件解析 - SAX和DOM方式的区别
java·前端·excel
それども2 天前
Excel文件解析 - SAX startRow cell endRow 执行顺序
java·前端·excel
梦因you而美2 天前
Python win32com操作Excel:彻底禁用链接更新及各类弹窗(实测有效)
python·excel·win32com·禁用链接更新·excel弹框
それども2 天前
Excel文件解析 - SAX startRow cell endRow 执行时机
java·excel
HWL56792 天前
在网页中实现WebM格式视频自动循环播放
前端·css·html·excel·音视频
南檐巷上学3 天前
基于FPGA的音频信号监测识别系统
fpga开发·音频·verilog·fpga·傅立叶分析·fft·快速傅里叶变换