在Excel中如何获取汉字拼音首字母?
阅读原文时间:2021年04月20日阅读:1

转自:https://jingyan.baidu.com/article/0a52e3f43c3f6abf63ed7259.html百度经验

在Excel中如何获取汉字拼音首字母?|

     在工作中,为了方便查询、排序或者编码,需要生成汉字内容信息的首字母,如果信息很多的话,一个个录入是一件很麻烦的事情,下面给大家介绍一个便捷的方法,轻松获取汉字拼音首字母信息。

      最终效果如下:

工具/原料

  • Microsoft Excel 2010

一、新建Excel文件

  1. 1

    新建一个Excel文件,输入示例汉字内容。

    END

二、设置【开发工具】菜单

  1. 1

    【文件】->【选项】->【自定义功能区】->【主选项卡】->勾选【开发工具】

    点击确定以后,导航菜单里增加一项【开发工具】

    END

三、自定义函数

  1. 1

    打开【开发工具】菜单,点击第一个【Visual Basic】,弹出代码窗口,

    在窗口左侧空白处,点击右键,选择【插入】->【模块】。窗口右侧出现一个白色背景框。

    复制粘贴如下内容到右侧框中(虚线之间的内容,不含虚线):

    ---------------------------------------------------------------------

    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

    ---------------------------------------------------------------------

  2. 2

    点击菜单中【保存】,弹出一个提示框,点【是】,再次弹出一个提示框,点【确定】。

    END

三、调用自定义函数

  1. 1

    关闭代码窗口,回到Excel文件。鼠标定位到“拼音首字母”列第一行(C2单元格)。

    在函数框中输入=getpy(B2),(调用自定义函数,获取B2单元格中汉字内容首字母)回车,可以看到获取到B2单元格中内容的首字母。

    END

四、生成首字母

  1. 鼠标定位到单元格C2右下角,光标变成黑色十字,按住鼠标左键往下拉至C15行。获取全部内容的首字母。

    END

最终效果

  1. 1

2.

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器