问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何应用Excel函数把汉字换成拼音首字母

发布网友 发布时间:2022-04-20 11:05

我来回答

3个回答

热心网友 时间:2022-04-11 18:49

  根据GB2312-1980 信息交换用汉字编码字符集 汉字分为一级汉字(3755个)和二级汉字(3008)个,一级汉字使用拼音排序,二级汉字使用笔画排序。因此对于一级汉字比较好办,找到每个拼音开始和结束的汉字内码即可。

  对于二级汉字还没有好的办法,不过一级汉字3755个基本上已经够用了。目前网上的方法都是针对一级汉字的。

  以下使用VBA制作一个自定义函数:getpy在表格中直接使用这个函数即可。

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 >= 53689 And tmp <= 54480) Then
    getpychar = "Y"
ElseIf (tmp >= 54481 And tmp <= 62289) Then
    getpychar = "Z"
Else '如果不是中文,则不处理
    getpychar = char
End If
End Function

Function getpy(str)
For i = 1 To Len(str)
    getpy = getpy & getpychar(Mid(str, i, 1))
Next i
End Function

  应用举例:在单元格中输入公式=getpy(单元格名)即可,如下图所示,函数的局限性也在图中进行了演示。

热心网友 时间:2022-04-11 20:07

如A1-A50输入的是汉字。则在B1中的公式为:=LOOKUP(CODE(A1),45217+{0,36,544,1101,1609,1793,2080,2560,2902,3845,4107,4679,5154,5397,5405,5689,6170,6229,7001,7481,7763,8472,9264},{"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"})
B2-B50填充。

热心网友 时间:2022-04-11 21:41

VBA

http://zhidao.baidu.com/q?word=%BA%BA%D7%D6%BB%BB%B3%C9%C6%B4%D2%F4%CA%D7%D7%D6%C4%B8excel&lm=0&fr=search&ct=17&pn=0&tn=ikaslist&rn=10
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
卡耐基的智慧大全集内容简介 会说话赢天下内容简介 卡耐基演讲与口才内容简介 商务口才训练内容简介 卡耐基金牌口才作者简介 卡耐基商务口才 作者简介 爱因斯坦的更多故事 杨柯叶谨言是什么电视 房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 excel的getpy函数用不了是什么原因? 在EXCEL中如何取汉字拼音首字母? excel中如何实现提取汉字的拼音首字母? excel中的个getpy函数,输入那些代码的作用是啥 wps getpy函数用不了 有谁知道Excel中提取拼音的首字母的方法? EXCEL 如何取汉字首拼(包括多音字首拼) excel能不能提取文字首字母 成都给米金融服务外包有限公司怎么样? 成华区网站建设公司,外包的 成都舜津科技有限公司怎么样? 成都誉和金融服务外包有限公司怎么样? 成都的对日外包公司有哪些啊? 请问成都哪个公司接3D游戏模型外包做的比较好的,... 成都有哪些较大的java人力外包公司 成都延藤网络科技有限公司怎么样? 成都有哪些外包呼叫中心。我想找家呼叫中心,把公... 成都软件外包公司怎么选择 成都企包在线是做网络营销外包的吗?找他们做营销... 成都网站建设外包公司排名,哪家好 excel函数问题,vlookup只能查找第一个,后面的怎... 打印机连接电脑打印老是显示打印错误怎么回事? 打印机打印队列中文档状态显示错误而不能打印怎么办? 电脑打印机打印状态显示错误是什么意思? 打印机打着打着突然不能打印,状态显示错误是怎么... 打印机不能打印,显示“错误,正在打印”,有哪些原因 打印机状态显示错误是怎么回事 打印机上显示错误状态不能打印怎么办 为什么打印机打印时电脑上显示出错 打印机状态:错误,正在打印?打印测试页出下面图... 电脑显示打印机错误正在打印怎么处理 电脑打印机显示错误是怎么回事 电脑连着打印机显示错误没法正常打印 打印机无法打印,显示打印错误,可以复印 打印机打印显示错误不能打印怎么办 怎样换手机号码? vivox23为啥抖音直播间不能涂鸦? 怎么更改手机号码? vivox23为什么不能在抖音下动态壁纸?? vivoX23可以手势刷抖音吗