乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel里如何实现10进制转换为36进制,要插入什么公式?...-excel进制转换,excel转十六进制

excel里如何实现10进制转换为36进制,要插入什么公式?...-excel进制转换,excel转十六进制

作者:乔山办公网日期:

返回目录:excel表格制作


1、用VBA写一个自定义函数,如函数名写为copy to36( )

按键ALT+F11,则打开VBA代码编辑器,
菜单中[插入]—[模块],粘贴以下代码进去。

Function to36(a As Long)
n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Do
If a < 36 Then n = Mid(n, a + 1, 1) & n: Exit Do
m = a Mod 36
n = Mid(n, m + 1, 1) & n
If a = 36 Then n = 1 & n: Exit Do
a = (a - m) / 36
Loop
End Function

2,在单元格中设置公式,并使用以上的自定义函数,
如在 A1中输入100, B1中设置公式 =to36(A1) , 结果显示为36进制的 2S

VBA自定义函数:
Function s(a As Long)
v = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Do
If a < 36 Then s = Mid(v, a + 1, 1) & s: Exit Do
m = a Mod 36
s = Mid(v, m + 1, 1) & s
If a = 36 Then s = 1 & s: Exit Do
a = (a - m) / 36
Loop
End Function
懂VBA的以下不用看:
使用方法:
1,按键ALT+F11
2,菜单选插入——模块,将以上代码粘贴进去。
如果EXCEL宏安全级别设为的的话,现在就可以使用这个函数了。
例如在啊A1中输入=s(100),将显示2S
第一步,用函数MID()从zhidao目标单元格取出你要转换的那两位数,可参考该函数用法举例﹔
第二步,将取出的数值放入某个工作表的A1,在B1中copy贴入以下公式,即可。
“=CONCATENATE(IF(IF(INT(A1/36)>9,CHAR(INT(A1/36)+55),INT(A1/36))>9,CHAR(IF(INT(A1/36)>9,CHAR(INT(A1/36)+55),INT(A1/36))+55),IF(INT(A1/36)>9,CHAR(INT(A1/36)+55),INT(A1/36))),IF(MOD(MOD(A1,36),36)>9,CHAR(MOD(MOD(A1,36),36)+55),MOD(MOD(A1,36),36)))”
若是将A1改成MID函数,当然也可以过到一站转换的目的。
该公式只能适用於2位数的转换。

1,excel2013比较简单,
用BASE函数,该函数将10进制数字转换成其他进制。语法如下:
=BASE(number,radix,[min_length])
number:待转换的10进制数字,小于2^53的正整数
radix:目标进制,最少转换为2进制,最多转换为36进制,即数字0-9再加上26个英文字母
min_length:转换后字符长度,长度不够在左边以0填充
2,其他版本的得写VBA来实现了

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网