1. 程式人生 > >在Excel中如何獲取漢字拼音首字母?

在Excel中如何獲取漢字拼音首字母?

轉自:https://jingyan.baidu.com/article/0a52e3f43c3f6abf63ed7259.html百度經驗

在Excel中如何獲取漢字拼音首字母?|

     在工作中,為了方便查詢、排序或者編碼,需要生成漢字內容資訊的首字母,如果資訊很多的話,一個個錄入是一件很麻煩的事情,下面給大家介紹一個便捷的方法,輕鬆獲取漢字拼音首字母資訊。

      最終效果如下:

在Excel中如何獲取漢字拼音首字母?

工具/原料

  • Microsoft Excel 2010

一、新建Excel檔案

  1. 1

    新建一個Excel檔案,輸入示例漢字內容。

    在Excel中如何獲取漢字拼音首字母? END

二、設定【開發工具】選單

  1. 1

    【檔案】->【選項】->【自定義功能區】->【主選項卡】->勾選【開發工具】

    點選確定以後,導航選單裡增加一項【開發工具】

    在Excel中如何獲取漢字拼音首字母? 在Excel中如何獲取漢字拼音首字母? 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

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

    在Excel中如何獲取漢字拼音首字母?
  2. 2

    點選選單中【儲存】,彈出一個提示框,點【是】,再次彈出一個提示框,點【確定】。

    在Excel中如何獲取漢字拼音首字母? END

三、呼叫自定義函式

  1. 1

    關閉程式碼視窗,回到Excel檔案。滑鼠定位到“拼音首字母”列第一行(C2單元格)。

    在函式框中輸入=getpy(B2),(呼叫自定義函式,獲取B2單元格中漢字內容首字母)回車,可以看到獲取到B2單元格中內容的首字母。

    在Excel中如何獲取漢字拼音首字母? END

四、生成首字母

  1. 滑鼠定位到單元格C2右下角,游標變成黑色十字,按住滑鼠左鍵往下拉至C15行。獲取全部內容的首字母。

    在Excel中如何獲取漢字拼音首字母? END

最終效果

  1. 1 在Excel中如何獲取漢字拼音首字母?