. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』 » 专题:办公邮件

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
ShingU
 
ShingU 的头像
终极会员
 
资 料:
注册日期: Jul 2002
帖子: 16,623 声望值: 4
精华: 2,解答: 18
#1 旧 2010-02-09, 14:14:08 默认 已解答: 【求助】在Excel中将10进制数转换成16进制数
ShingU 当前离线  

我需要将5位的10进制数转换成4位的16进制数。一般情况下,通过=DEC2HEX(A1)是可行的,但是因为一定要4位的16进制数,有时候就不行了。比如10进制数为2561,转成16进制数就是A01,我需要前面还有一个0,即0A01。

我想到了通过一个比较复杂的函数来实现:
=if(len(DEC2HEX(A1))<4,"0"&dec2hex(A1),dec2hex(A1))

一来这样比较复杂,二来好像还不完备,比如转换成的16进制数只有2位呢?谁能帮写个完备的方案?


这家伙很懒,什么都没留下。
最佳解答为:guoxia
=RIGHT("000"&DEC2HEX(A1),4)
wxh5
 
wxh5 的头像
终极会员
 
资 料:
注册日期: Jul 2004
帖子: 13,475 声望值: 1
精华: 0,解答: 29
#2 旧 2010-02-09, 14:21:58 默认
wxh5 当前离线  

单元格格式里选成自定义,然后写上4个0可以吗?


感谢ccf
wmapro
 
wmapro 的头像
超级会员
 
资 料:
注册日期: Jul 2001
帖子: 1,149 声望值: 3
精华: 0,解答: 2
#3 旧 2010-02-09, 14:22:03 默认
wmapro 当前离线  

楼主的公式看上去很高深啊,学习一下


Uploading......
canking
 
canking 的头像
超级会员
 
资 料:
注册日期: Aug 2004
帖子: 1,612 声望值: 5
精华: 0,解答: 3
#4 旧 2010-02-09, 14:32:45 默认
canking 当前离线  

LZ难道在做BSA数据库啊,呵呵
按照LZ的公式,如果十进制是10转换出来十六进制只有A了,前面要加000才行啊
robinjin
 
robinjin 的头像
普通会员
 
资 料:
注册日期: Jan 2001
帖子: 10 声望值: 2
精华: 0
#5 旧 2010-02-09, 15:00:32 默认
robinjin 当前离线  

引用:
作者: ShingU 查看帖子
我需要将5位的10进制数转换成4位的16进制数。一般情况下,通过=DEC2HEX(A1)是可行的,但是因为一定要4位的16进制数,有时候就不行了。比如10进制数为2561,转成16进制数就是A01,我需要前面还有一个0,即0A01。

我想到了通过一个比较复杂的函数来实现:
=if(len(DEC2HEX(A1))<4...
=IF(LEN(DEC2HEX(A1))<4,REPT(0, 4-LEN(DEC2HEX(A1)))&DEC2HEX(A1),DEC2HEX(A1))
dshine
 
dshine 的头像
热心会员
 
资 料:
注册日期: Sep 2001
帖子: 2,325 声望值: 4
精华: 1,解答: 12
#6 旧 2010-02-09, 15:20:02 默认
dshine 当前离线  

=REPT(0,4-LEN(DEC2HEX(A1)))&DEC2HEX(A1)


说不到不如做不到
guoxia
 
guoxia 的头像
超级会员
 
资 料:
注册日期: Jul 2002
帖子: 1,165 声望值: 3
精华: 0,解答: 1
#7 旧 2010-02-09, 15:45:23 默认
guoxia 当前离线  

=RIGHT("000"&DEC2HEX(A1),4)


当你在穿山越岭的另一边 我在孤独的路上没有尽头
warelover
 
warelover 的头像
核心会员
 
资 料:
注册日期: Nov 2001
帖子: 2,366 声望值: 3
精华: 0,解答: 8
#8 旧 2010-02-09, 18:59:05 默认
warelover 当前离线  

引用:
作者: dshine 查看帖子
=REPT(0,4-LEN(DEC2HEX(A1)))&DEC2HEX(A1)
你的公式最简洁
dshine
 
dshine 的头像
热心会员
 
资 料:
注册日期: Sep 2001
帖子: 2,325 声望值: 4
精华: 1,解答: 12
#9 旧 2010-02-09, 23:13:56 默认
dshine 当前离线  

应该是7楼的最简洁...这个想法很巧妙
ShingU
 
ShingU 的头像
终极会员
 
资 料:
注册日期: Jul 2002
帖子: 16,623 声望值: 4
精华: 2,解答: 18
#10 旧 2010-02-10, 14:28:01 默认
ShingU 当前离线  

引用:
作者: guoxia 查看帖子
=RIGHT("000"&DEC2HEX(A1),4)
这个思路很巧妙!

引用:
作者: dshine 查看帖子
=REPT(0,4-LEN(DEC2HEX(A1)))&DEC2HEX(A1)
这个比较符合一般人的思维方式。
引用:
作者: canking 查看帖子
LZ难道在做BSA数据库啊,呵呵
按照LZ的公式,如果十进制是10转换出来十六进制只有A了,前面要加000才行啊
不是这个。
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 16:18:21.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号