Excel中带空格的十六进制值转十进制的实现方法
Excel中带空格的十六进制值转十进制的实现方法
我懂你的需求啦——要保留原单元格的空格格式方便阅读,同时把里面带空格的十六进制值转成十进制对吧?你之前用TRIM没成功是有原因的:TRIM只能移除文本首尾的空格,而你单元格里的空格是夹在两个十六进制段中间的,所以处理完之后还是00 0A,自然会触发HEX2DEC的#NUM!错误(因为这个函数不认带空格的十六进制字符串)。
给你个靠谱的解决方案,用SUBSTITUTE函数先把所有空格替换掉,再传给HEX2DEC就行。假设你的数据在A1单元格,公式如下:
=HEX2DEC(SUBSTITUTE(A1," ",""))
举个例子,A1里是00 0A,SUBSTITUTE(A1," ","")会把它变成000A,再经过HEX2DEC转换后就得到十进制的10,完全符合要求,而且原单元格的格式一点都不会被改动~
如果你的单元格里有多个连续空格也不用担心,SUBSTITUTE会把所有空格都替换掉,一样能正常转换。
备注:内容来源于stack exchange,提问作者plu




