电子表格EXCEL中怎么用公式将10进制转换成36进制?
来源:百度知道 编辑:UC知道 时间:2024/09/12 15:43:28
俺写出来了:
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
1、用VBA写一个自定义函数,如函数名写为 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
不知道问题是不是有误?还有36进制一说吗,只知道16进制的。
转换可以使用函数:DE