以一个实例说明在excel中根据A列汉字自动在B列生成拼音字母的方法
发布时间:2022-01-18 13:00:34
下图所示的excel表格,A列是姓名列,根据A列的汉字姓名,自动在B列和C列分别自动生成姓名列的拼音字母。
下面是小编整理出来的详细的操作步骤,分享给有需要的朋友。
第一步,由于Excel中没有现成的函数套用可以解决此问题,首先自定义一个函数。方法如下:
1. 运行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态。
2. 运行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态。
3. 将以下的代码输入其中,保存,关闭Visual Basic编辑窗口,返回Excel编辑状态。
Function PinYin(Hz As String)
Dim PinMa As String
Dim MyPinMa As Variant
Dim Temp As Integer, i As Integer, j As Integer
PinMa = "a,20319,ai,20317,an,20304,ang,20295,ao,20292,"
PinMa = PinMa & "ba,20283,bai,20265,ban,20257,bang,20242,bao,20230,bei,20051,ben,20036,beng,20032,bi,20026,bian,20002,biao,19990,bie,19986,bin,19982,bing,19976,bo,19805,bu,19784,"
PinMa = PinMa & "ca,19775,cai,19774,can,19763,cang,19756,cao,19751,ce,19746,ceng,19741,cha,19739,chai,19728,chan,19725,chang,19715,chao,19540,che,19531,chen,19525,cheng,19515,chi,19500,chong,19484,chou,19479,chu,19467,chuai,19289,chuan,19288,chuang,19281,chui,19275,chun,19270,chuo,19263,ci,19261,cong,19249,cou,19243,cu,19242,cuan,19238,cui,19235,cun,19227,cuo,19224,"
PinMa = PinMa & "da,19218,dai,19212,dan,19038,dang,19023,dao,19018,de,19006,deng,19003,di,18996,dian,18977,diao,18961,die,18952,ding,18783,diu,18774,dong,18773,dou,18763,du,18756,duan,18741,dui,18735,dun,18731,duo,18722,"
PinMa = PinMa & "e,18710,en,18697,er,18696,"
PinMa = PinMa & "fa,18526,fan,18518,fang,18501,fei,18490,fen,18478,feng,18463,fo,18448,fou,18447,fu,18446,"
PinMa = PinMa & "ga,18239,gai,18237,gan,18231,gang,18220,gao,18211,ge,18201,gei,18184,gen,18183,geng,18181,gong,18012,gou,17997,gu,17988,gua,17970,guai,17964,guan,17961,guang,17950,gui,17947,gun,17931,guo,17928,"
PinMa = PinMa & "ha,17922,hai,17759,han,17752,hang,17733,hao,17730,he,17721,hei,17703,hen,17701,heng,17697,hong,17692,hou,17683,hu,17676,hua,17496,huai,17487,huan,17482,huang,17468,hui,17454,hun,17433,huo,17427,"
PinMa = PinMa & "ji,17417,jia,17202,jian,17185,jiang,16983,jiao,16970,jie,16942,jin,16915,jing,16733,jiong,16708,jiu,16706,ju,16689,juan,16664,jue,16657,jun,16647,"
PinMa = PinMa & "ka,16474,kai,16470,kan,16465,kang,16459,kao,16452,ke,16448,ken,16433,keng,16429,kong,16427,kou,16423,ku,16419,kua,16412,kuai,16407,kuan,16403,kuang,16401,kui,16393,kun,16220,kuo,16216,"
PinMa = PinMa & "la,16212,lai,16205,lan,16202,lang,16187,lao,16180,le,16171,lei,16169,leng,16158,li,16155,lia,15959,lian,15958,liang,15944,liao,15933,lie,15920,lin,15915,ling,15903,liu,15889,long,15878,lou,15707,lu,15701,lv,15681,luan,15667,lue,15661,lun,15659,luo,15652,"
PinMa = PinMa & "ma,15640,mai,15631,man,15625,mang,15454,mao,15448,me,15436,mei,15435,men,15419,meng,15416,mi,15408,mian,15394,miao,15385,mie,15377,min,15375,ming,15369,miu,15363,mo,15362,mou,15183,mu,15180,"
PinMa = PinMa & "na,15165,nai,15158,nan,15153,nang,15150,nao,15149,ne,15144,nei,15143,nen,15141,neng,15140,ni,15139,nian,15128,niang,15121,niao,15119,nie,15117,nin,15110,ning,15109,niu,14941,nong,14937,nu,14933,nv,14930,nuan,14929,nue,14928,nuo,14926,"
PinMa = PinMa & "o,14922,ou,14921,"
PinMa = PinMa & "pa,14914,pai,14908,pan,14902,pang,14894,pao,14889,pei,14882,pen,14873,peng,14871,pi,14857,pian,14678,piao,14674,pie,14670,pin,14668,ping,14663,po,14654,pu,14645,"
PinMa = PinMa & "qi,14630,qia,14594,qian,14429,qiang,14407,qiao,14399,qie,14384,qin,14379,qing,14368,qiong,14355,qiu,14353,qu,14345,quan,14170,que,14159,qun,14151,"
PinMa = PinMa & "ran,14149,rang,14145,rao,14140,re,14137,ren,14135,reng,14125,ri,14123,rong,14122,rou,14112,ru,14109,ruan,14099,rui,14097,run,14094,ruo,14092,"
PinMa = PinMa & "sa,14090,sai,14087,san,14083,sang,13917,sao,13914,se,13910,sen,13907,seng,13906,sha,13905,shai,13896,shan,13894,shang,13878,shao,13870,she,13859,shen,13847,sheng,13831,shi,13658,shou,13611,shu,13601,shua,13406,shuai,13404,shuan,13400,shuang,13398,shui,13395,shun,13391,shuo,13387,si,13383,song,13367,sou,13359,su,13356,suan,13343,sui,13340,sun,13329,suo,13326,"
PinMa = PinMa & "ta,13318,tai,13147,tan,13138,tang,13120,tao,13107,te,13096,teng,13095,ti,13091,tian,13076,tiao,13068,tie,13063,ting,13060,tong,12888,tou,12875,tu,12871,tuan,12860,tui,12858,tun,12852,tuo,12849,"
PinMa = PinMa & "wa,12838,wai,12831,wan,12829,wang,12812,wei,12802,wen,12607,weng,12597,wo,12594,wu,12585,"
PinMa = PinMa & "xi,12556,xia,12359,xian,12346,xiang,12320,xiao,12300,xie,12120,xin,12099,xing,12089,xiong,12074,xiu,12067,xu,12058,xuan,12039,xue,11867,xun,11861,"
PinMa = PinMa & "ya,11847,yan,11831,yang,11798,yao,11781,ye,11604,yi,11589,yin,11536,ying,11358,yo,11340,yong,11339,you,11324,yu,11303,yuan,11097,yue,11077,yun,11067,"
PinMa = PinMa & "za,11055,zai,11052,zan,11045,zang,11041,zao,11038,ze,11024,zei,11020,zen,11019,zeng,11018,zha,11014,zhai,10838,zhan,10832,zhang,10815,zhao,10800,zhe,10790,zhen,10780,zheng,10764,zhi,10587,zhong,10544,zhou,10533,zhu,10519,zhua,10331,zhuai,10329,zhuan,10328,zhuang,10322,zhui,10315,zhun,10309,zhuo,10307,zi,10296,zong,10281,zou,10274,zu,10270,zuan,10262,zui,10260,zun,10256,zuo,10254"
MyPinMa = Split(PinMa, ",")
For i = 1 To Len(Hz)
Temp = Asc(Mid(Hz, i, 1))
If Temp < 0 Then
Temp = Abs(Temp)
For j = 791 To 1 Step -2
If Temp <= Val(MyPinMa(j)) Then
PinYin = PinYin & MyPinMa(j - 1) & " "
Exit For
End If
Next
End If
Next
PinYin = Trim(PinYin)
End Function
第二步,在空白列,比如F2单元格,输入公式:=PinYin(A2),就可以在F2单元格得到A2单元格汉字的拼音。然后下拉复制完成A列所有的汉字转拼音。
提示:公式中的“PinYin”就是第一步自定义函数的名称。
第三步,在B2单元格输入公式:=LEFT(F2,FIND(" ",F2)-1),就可以提取出F2单元格中的第一个汉字的拼音。然后下拉复制完成A列中汉字“姓”的拼音提取。
第四步,在C2单元格输入公式:=TRIM(SUBSTITUTE(F2,B2,"")),即可得到剩余的“名”字部分的汉字的拼音。下拉复制公式。
第五步,如果需要拼音的首字母大写,可以再用PROPER函数来转换一下。最终完成的效果如下图所示。


猜你喜欢
- SchSvr.exe - SchSvr进程的详细介绍进程文件: SchSvr or SchSvr.exe 进程名称: WinSchedule
- 最近有Win10用户跟小编反映自己打不开系统自带的应用程序,重启电脑也没有效果,那这该怎么办?下面小编就给大家带来Win10系统自带的应用程
- 解决word文档无法编辑的技巧word无法编辑的解决办法有时会遇到打开的word文档无法进行编辑的情况,这里演示一下怎么解除这种状态。 &n
- 技多不碍身,还能让我们的效率事半功倍,多学习技巧,有助提高我们对Word的操作。以下是小编给大家整理的Word的小技巧,希望能帮到你!Wor
- 不同系统的有不同的安装步骤,但是很多用户还是会用安装win xp系统的方法来安装win7系统,其实这是错的,现在就让小编与大家分享一下正确的
- Excel中的替换是较为常用的功能,具体该如何使用呢?接下来是小编为大家带来的excel中替换功能使用教程,供大家参考。excel中替换功能
- 给重要的单元格添加简介和说明,这样可以让我们很轻松的找到要找的东西。只要将鼠标放到某个单元格上就会显示我们初始时填写的简介说明文字了。可以避
- 近期有部分Win7用户在电脑的使用中出现了提示“存储空间不足无法处理此命令”,这是怎么回事呢?对于这一情况我们又应该如何解决呢?带着这份困惑
- 如何使用ps把图片上的数字p成别的数字?给大家介绍如何使用ps把图片上的数字p成别的数字,一起来看看吧。1.打开ps,打开一张图2.点击工具
- 下载安装WPS Office 2012个人版后,1.启动WPS文字/表格/演示,2012界面下,单击插入选项卡下“素材库”图标如下图 &nb
- 如何利用PS给PDF文件进行填色?根据需要,给PDF格式的图纸进行填色,该用什么工具呢?其实我们可以借助PS来完成要求,操作并不难。下面,小
- 虽然微软放弃了XP,但是使用XP的还是蛮多的,最近一位用户在WinXP系统下使用网页观看视频时,突然跳出一个错误提示窗口:“当前页面的脚本发
- win10电脑怎么设置任务栏透明度?win10具有多种有趣的功能可供探索,更支持用户自己个性化设置,例如将任务栏设置为透明。想要设置的话,应
- 想要直观地表现数字?数据条可提供帮助。选择数据区域,然后转到“开始”>“条件格式”>“数据条”,再选择一种颜色方案。
- 微软发布了首个支持安卓应用的Win11版本,不过是测试版本,正式版目前还不支持安卓应用,这让很多Win11正式版的用户都很羡慕,下面为大家带
- 12月26日消息 Windows 10的下一个大更新计划于2020年发布,将采用一种安装驱动程序的新方法。在Windows 10 Build
- 现在我们都是人手一部手机的,玩过后都知道如果要锁屏的话,要么就是直接按一下电源键,要么就是下载一个锁屏软件。当你想锁屏的时候点一下锁屏软件即
- 在使用wps演示制作语文课件的时候,往往要对一些汉字添加拼音,这时候怎么办呢?下面就让小编告诉你 wps演示怎样制作拼音的方法。wps演示制
- 我们在使用计算机的时候,如果我们安装的是无线鼠标的话,可能有些小伙伴们就会遇到无线鼠标卡顿不流畅的情况。对于这个问题小编觉得可能是我们的鼠标
- 如何把Mac电脑的桌面壁纸更换为自己喜欢的图片?电脑桌面壁纸换成自己喜欢的图片不仅能让自己的心情愉悦,还能提高工作效率。怎样更换Mac电脑的