excel提取文字拼音首字母
目標(biāo)是提取一段文案的拼音首字母,參考https://jingyan.baidu.com/article/0a52e3f43c3f6abf63ed7259.html
備注:在每一個(gè)需要這個(gè)函數(shù)的excel中添加模塊,才可以生效
-- 百度經(jīng)驗(yàn)原文---
在工作中,為了方便查詢、排序或者編碼,需要生成漢字內(nèi)容信息的首字母,如果信息很多的話,一個(gè)個(gè)錄入是一件很麻煩的事情,下面給大家介紹一個(gè)便捷的方法,輕松獲取漢字拼音首字母信息。
? ? ? 最終效果如下:
工具/原料
-
Microsoft Excel 2010
一、新建Excel文件
新建一個(gè)Excel文件,輸入示例漢字內(nèi)容。
END
二、設(shè)置【開發(fā)工具】菜單
【文件】->【選項(xiàng)】->【自定義功能區(qū)】->【主選項(xiàng)卡】->勾選【開發(fā)工具】
點(diǎn)擊確定以后,導(dǎo)航菜單里增加一項(xiàng)【開發(fā)工具】
END
三、自定義函數(shù)
打開【開發(fā)工具】菜單,點(diǎn)擊第一個(gè)【Visual Basic】,彈出代碼窗口,
在窗口左側(cè)空白處,點(diǎn)擊右鍵,選擇【插入】->【模塊】。窗口右側(cè)出現(xiàn)一個(gè)白色背景框。
復(fù)制粘貼如下內(nèi)容到右側(cè)框中(虛線之間的內(nèi)容,不含虛線):
---------------------------------------------------------------------
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 <= 53688) Then
? ? getpychar = "X"
? ? ElseIf (tmp >= 53689 And tmp <= 54480) Then
? ? getpychar = "Y"
? ? ElseIf (tmp >= 54481 And tmp <= 62289) Then
? ? getpychar = "Z"
? ? Else '如果不是中文,則不處理
? ? getpychar = char
? ? End If
End Function
?
'逐個(gè)取ASC碼
Function getpy(str)
? ? For i = 1 To Len(str)
? ? ? ? getpy = getpy & getpychar(Mid(str, i, 1))
? ? Next i
End Function
---------------------------------------------------------------------
點(diǎn)擊菜單中【保存】,彈出一個(gè)提示框,點(diǎn)【是】,再次彈出一個(gè)提示框,點(diǎn)【確定】。
END
三、調(diào)用自定義函數(shù)
關(guān)閉代碼窗口,回到Excel文件。鼠標(biāo)定位到“拼音首字母”列第一行(C2單元格)。
在函數(shù)框中輸入=getpy(B2),(調(diào)用自定義函數(shù),獲取B2單元格中漢字內(nèi)容首字母)回車,可以看到獲取到B2單元格中內(nèi)容的首字母。
END
四、生成首字母
鼠標(biāo)定位到單元格C2右下角,光標(biāo)變成黑色十字,按住鼠標(biāo)左鍵往下拉至C15行。獲取全部?jī)?nèi)容的首字母。
END
最終效果
?
總結(jié)
以上是生活随笔為你收集整理的excel提取文字拼音首字母的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《NoSQL权威指南》导读
- 下一篇: 七牛直播云服务技术揭秘