在Excel中获取汉字拼音首字母并大写

最终效果
最终获取全拼首字母
如果单元格输入=getpychar(E2),并下拉填充,获取的是大写首字母

  1. 打开【开发工具】菜单,点击第一个【Visual
    Basic】,弹出代码窗口,在窗口左侧空白处,点击右键,选择【插入】->【模块】。窗口右侧出现一个白色背景框。
  2. 复制粘贴如下代码内容到编辑框中,并保存
Function getpychar(char)

    tmp = 65536 + Asc(char)

    If (tmp >= 45217 And tmp <= 45252) Then

    getpychar = "A"

    ElseIf (tmp >= 45253 And tmp <= 45760) Then

    getpychar = "B"

    ElseIf (tmp >= 45761 And tmp <= 46317) Then

    getpychar = "C"

    ElseIf (tmp >= 46318 And tmp <= 46825) Then

    getpychar = "D"

    ElseIf (tmp >= 46826 And tmp <= 47009) Then

    getpychar = "E"

    ElseIf (tmp >= 47010 And tmp <= 47296) Then

    getpychar = "F"

    ElseIf (tmp >= 47297 And tmp <= 47613) Then

    getpychar = "G"

    ElseIf (tmp >= 47614 And tmp <= 48118) Then

    getpychar = "H"

    ElseIf (tmp >= 48119 And tmp <= 49061) Then

    getpychar = "J"

    ElseIf (tmp >= 49062 And tmp <= 49323) Then

    getpychar = "K"

    ElseIf (tmp >= 49324 And tmp <= 49895) Then

    getpychar = "L"

    ElseIf (tmp >= 49896 And tmp <= 50370) Then

    getpychar = "M"

    ElseIf (tmp >= 50371 And tmp <= 50613) Then

    getpychar = "N"

    ElseIf (tmp >= 50614 And tmp <= 50621) Then

    getpychar = "O"

    ElseIf (tmp >= 50622 And tmp <= 50905) Then

    getpychar = "P"

    ElseIf (tmp >= 50906 And tmp <= 51386) Then

    getpychar = "Q"

    ElseIf (tmp >= 51387 And tmp <= 51445) Then

    getpychar = "R"

    ElseIf (tmp >= 51446 And tmp <= 52217) Then

    getpychar = "S"

    ElseIf (tmp >= 52218 And tmp <= 52697) Then

    getpychar = "T"

    ElseIf (tmp >= 52698 And tmp <= 52979) Then

    getpychar = "W"

    ElseIf (tmp >= 52980 And tmp <= 53640) Then

    getpychar = "X"

    ElseIf (tmp >= 53679 And tmp <= 54480) Then

    getpychar = "Y"

    ElseIf (tmp >= 54481 And tmp <= 62289) Then

    getpychar = "Z"

    Else '如果不是中文,则不处理

    getpychar = char

    End If

End Function
'逐个取ASC码

Function getpy(str)

    For i = 1 To Len(str)

        getpy = getpy & getpychar(Mid(str, i, 1))

    Next i

End Function
  1. 点击菜单中【保存】,弹出一个提示框,点【是】,再次弹出一个提示框,点【确定】。
  2. 回到excel文件,像使用其他函数一样,单元格中输入=函数名称(单元格)回车即可
  3. getpychar函数为只获取大写首字母,getpy为获取全拼大写首字母
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
HzToPy汉字拼音函数说明 函数原型如下: HzToPy(Hz As String, Optional Sep As String = "", Optional ShowNotation As Boolean = True, Optional ShowInitialOnly As Boolean, Optional ShowOnlyOneChar As Boolean = True) As String 参数名 参数类型 说明 第1个参数 Hz 字符型 为汉字字符串 第2个参数 Sep 字符型,可选 设定拼音间隔字符,默认为空("") 第3个参数 ShowNotation 布尔型,可选 设定是否显示注音符号,默认显示 第4个参数 ShowInitialOnly 布尔型,可选 设定是否仅显示拼音首字,默认显示全部 第5个参数 ShowOnlyOneChar 布尔型,可选 设定是否仅显示拼音首字母("zh"显示为"z"),默认只显示首字母 应用举例 目标汉字汉字拼音举例 1 显示用空格分开的拼音 公式: =HzToPy($b$19," ") 结果: hàn zì zhuǎn pīn yīn jǔ lì 2 显示用空格分开的拼音,同时不显示注音符号 公式: =HzToPy($b$19," ",false) 结果: han zi zhuan pin yin ju li 3 显示用空格分开的拼音,不显示注音符号,同时仅显示拼音的首字,并大写 公式: =HzToPy($b$19," ",false,true,false) 结果: H Z ZH P Y J L 4 显示用空格分开的拼音,不显示注音符号,同时仅显示拼音首字母,并大写 公式: =HzToPy($b$19," ",false,true) 结果: H Z Z P Y J L GetPy()说明 取汉字拼音首字母(大写) 公式 =GETPY(B35) 结果 GS 函数原型:getpy(string) PinYin()说明 取单个汉字或首个汉字拼音首字母(小写) 公式 =pinyin(B43) 结果 g 函数原型:pinyin(string)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值