永发信息网

EXCEL中怎样把十进制数转化为十六进制数??

答案:3  悬赏:70  手机版
解决时间 2021-06-01 16:17
  • 提问者网友:皆是孤独
  • 2021-06-01 05:35
我要将A列中5位十进制数转化成4位的十六进制数,应该怎样转化?我在工具篮的加载宏了找不见“分析工具库”这一项!我的是EXCEL2003!高手帮忙啊!
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-06-01 06:45

=LOOKUP(INT(A1/16/16/16),ROW($1:$16)-1,{"";1;2;3;4;5;6;7;8;9;"A";"B";"C";"D";"E";"F"})&LOOKUP(MOD(INT(A1/16/16),16),ROW($1:$16)-1,{0;1;2;3;4;5;6;7;8;9;"A";"B";"C";"D";"E";"F"})&LOOKUP(INT(MOD(A1/16,16)),ROW($1:$16)-1,{0;1;2;3;4;5;6;7;8;9;"A";"B";"C";"D";"E";"F"})&LOOKUP(MOD(A1,16),ROW($1:$16)-1,{0;1;2;3;4;5;6;7;8;9;"A";"B";"C";"D";"E";"F"})


这个公式吧,看上去复杂了点。


A1单元格,公式复制一下就行了,改里面的A1成你的单元格就行了。


lookup row mod这些函数低版本应该有的吧。5位数十进制转16进制。大了恐怕还要改一下。


全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-06-01 09:18
同时按Alt和F11进入VB界面,点菜单上的插入,模块,在右边窗口粘贴以下代码: Function DECtoHEx(a As Integer) As String Dim myABC(1 To 16) As String Dim i, j As Byte Dim x As Long For i = 1 To 9 myABC(i) = i Next i For i = 10 To 15 myABC(i) = Chr(55 + i) Next i myABC(16) = 0 DECtoHEX = "" j = Int(Log(a) / Log(16)) x = a For i = j To 1 Step -1 DECtoHEX = DECtoHEX & Application.WorksheetFunction.Index(myABC, Int(x / 16 ^ i)) x = x - Int(x / 16 ^ i) * 16 ^ i Next i DECtoHEX = DECtoHEX & IIf(x = 0, 0, Application.WorksheetFunction.Index(myABC, x)) End Function 回到Excel,你就有了函数 =dectohex(a1) a1就是你的单元格。
  • 2楼网友:夜余生
  • 2021-06-01 08:25
=DEC2HEx(A1)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯