如何使用Excel表格获取汉字的拼音首字母
(2014-11-14 07:21:36)
标签:
股票函数汉字拼音字母 |
分类: 域名分析 |
我们在进行域名投资过程中,会经常对汉字词语的拼音首字母进行分析,Excel就是一个非常好的工具,在提取汉字的拼音首字母时,我上网查了一下,发现虽然有人提供了宏函数,但是在使用中还是会出现部分汉字无法提取的情况,所以对函数进行了一些小改,目前基本能够正常使用,当然不排除还有一些生僻字无法提取,但是也可以很容易的进行完善的,下面把我改好的函数公布出来,欢迎大家使用。
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"
ElseIf (tmp = 63182) Then
getpychar = "X"
ElseIf (tmp = 41921) Then
getpychar = "A"
'-----------------------------------
Else '如果不是中文,则不处理
End If
End Function
Function getpy(str)
For i = 1 To Len(str)
getpy = getpy & getpychar(Mid(str, i, 1))
Next i
End Function
以上函数的使用方法简单说明一下:
打开Excel,按Alt+F11会打开VBA窗口,在“模块”下面新建一个类,然后把上面的函数复制进去,点击“保存”按钮即可。
在Excel表格中直接使用函数进行调用示例:=getpy(A1)