Office Excel 如何提取汉字首字母

 

答:如果用函数公式来做,需要汉字和拼音的对照表才行。这个问题,有大神推荐使用自定义函数,并且编写一段VBA代码来搞定。

Office Excel 如何提取汉字首字母

 

操作步骤:打开VBE编辑器,插入模块,输入以下代码,返回工作表,B1单元格输入公式:=getpy(A1),下拉复制。

记得把文件格式存为XLSM,也就是启用宏的工作簿,否则有自定义函数的文件打开的时候会出现#NAME错误。

代码如下:

Functionpinyin(pAsString)AsString

i=Asc(p)

SelectCasei

Case-20319To-20284:pinyin="A"

Case-20283To-19776:pinyin="B"

Case-19775To-19219:pinyin="C"

Case-19218To-18711:pinyin="D"

Case-18710To-18527:pinyin="E"

Case-18526To-18240:pinyin="F"

Case-18239To-17923:pinyin="G"

Case-17922To-17418:pinyin="H"

Case-17417To-16475:pinyin="J"

Case-16474To-16213:pinyin="K"

Case-16212To-15641:pinyin="L"

Case-15640To-15166:pinyin="M"

Case-15165To-14923:pinyin="N"

Case-14922To-14915:pinyin="O"

Case-14914To-14631:pinyin="P"

Case-14630To-14150:pinyin="Q"

Case-14149To-14091:pinyin="R"

Case-14090To-13319:pinyin="S"

Case-13318To-12839:pinyin="T"

Case-12838To-12557:pinyin="W"

Case-12556To-11848:pinyin="X"

Case-11847To-11056:pinyin="Y"

Case-11055To-2050:pinyin="Z"

CaseElse:pinyin=p

EndSelect

EndFunction

Functiongetpy(str)

Fori=1ToLen(str)

getpy=getpy&pinyin(Mid(str,i,1))

Nexti

EndFunction

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注