电子表格EXCEL中怎么用公式将10进制转换成36进制?

请大家帮忙提供36位进制(0~Z)计算公式或提供一份36进制EXCEL表格。注:36进制是从0至Z的那种,流水方式是00001,00002,00003......0000... 请大家帮忙提供36位进制(0~Z)计算公式或提供一份36进制EXCEL表格。注:36进制是从0至Z的那种,流水方式是00001, 00002, 00003...... 00009 and then 0000A, 0000B, 0000C, .........0000Y, 0000Z and then 00010, 00011, 00012, ......00019, 0001A, 0001B, 0001C,...... 0001Y, 0001Z and then 00020, 00021, 00022, ......00029............ 展开
 我来答
qingningleyun
2015-06-08 · TA获得超过5852个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3006万
展开全部

用 VBA 自定义函数解决(调用:B1 = Dec2Base36(A1))

Function Dec2Base36(rg As Integer) As String
    jz = 36
    rt = ""
    If rg < jz Then
        rt = num2str(rg)
    Else
        tg = rg
        While tg >= jz
            zc = Int(tg / jz)
            ys = tg - zc * jz
            rt = num2str(ys) & rt
            tg = zc
        Wend
        rt = num2str(tg) & rt
    End If
    Dec2Base36 = rt
End Function
Function num2str(n) As String
    If n > 9 Then
        n = n + 55
        rt = Chr(n)
    Else
        rt = n
    End If
    num2str = rt
End Function
嗯那就好
推荐于2017-10-11 · TA获得超过551个赞
知道小有建树答主
回答量:510
采纳率:81%
帮助的人:245万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fmlting
2015-07-24 · TA获得超过1781个赞
知道大有可为答主
回答量:2332
采纳率:12%
帮助的人:729万
展开全部
不知道问题是不是有误?还有36进制一说吗,只知道16进制的。
转换可以使用函数:DEC2HEX

DEC2HEX(number, [places])

DEC2HEX 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):

Number 必需。待转换的十进制整数。如果参数 number 是负数,则省略 places,并且函数
DEC2HEX 返回 10 个字符的十六进制数(40 位二进制数),其最高位为符号位,其余 39 位是数字位。负数用二进制数的补码表示。
Places 可选。要使用的字符数。如果省略 places,函数 DEC2HEX
用能表示此数的最少字符来表示。当需要在返回的值前置 0(零)时,places 尤其有用。

参考百科:http://baike.baidu.com/link?url=9RKnBvXi3mCOkPuvLmlj1CJLIOBRrOSqwUILcsKAi8tXMuNd1a4Jel6gFjpFMngAM52Yyf3htEHXbgeZJ-n_7_
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-08-16
展开全部
vba...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mycnn
推荐于2017-09-19 · TA获得超过1337个赞
知道小有建树答主
回答量:309
采纳率:100%
帮助的人:217万
展开全部
俺写出来了:
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式