快下班时,同事兴冲冲的跑过来,说江湖救急,帮个忙,给我提供了一份名单,如图,要把单位同事后面列全部加上邮箱,邮箱的前缀为每个人姓名的拼音,十来条数据的话好说,直接输入拼音@公司域名就OK了,但几百条、几千条的话一个个输入可就麻烦了。下面给大家介绍一个快捷方法,几百几千条以上的数据,分分钟就可以搞定啦。
如图:
解决方法
1、 先认识一个函数,getpy()
Getpy只有一个参数,就是填入需要转换拼音的单元格即可
如果A2单元格中为马小云,在B2单元格中输入=getpy(A2),回车,应该变成ma xiao yun了,但事实不是这样子的,excel中并没有内置这个函数,需要自定义。
2、 自定义方法:
首先在需要将汉字变拼音的表格里面,按组合键ALT+F11键,进入Visual Basic编辑状态。执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;
把下面的附件代码内容复制,粘贴到模块中的空白处
代码下载地址:
https://pan.baidu.com/s/1vlG0_O7YIHuuq0hympOqCg
提取码:5781
鼠标点击右上角“X”或者按下ALT+Q关闭Visual Basic编辑窗口,返回Excel编辑状态,至此getpy()函数自定义完成。
3、 需要转换拼音的在B列,先在一空白列中,输入=getpy(B2)后敲回车(这里的B2是指B2单元格),鼠标放在如图中的D2单元格右下角,鼠标指针变为十字形,双击即可自动向下填充。
4、 目前通过getpy()转换出来的拼音是有空格的,还不符合我们的要求,此时可用SUBSTITUTE()函数【substitute主要用来对指定字符串进行替换,下节课我们重点讲此函数用法】将空格去除。
在刚才的D列右边新建一列,如果要去除拼音之间的空格。去掉空格的拼音放在E列,如果这个未去掉空格的数据原来在D2单元格,去掉空格之后的拼音放在E2单元格,则在E2单元格输入:=SUBSTITUTE(D2," ","") 注意第一个双引号之间留有一个空格。
5、 到这一步基本上大功告成了,因为需要每个人名字后面加公司邮箱域名,我们再新建一列,全部填充为@ourqiye.com (域名根据实际需要填写),如果在填充时出现异常提示,需先将此列单元格设为文本格式。
6、 最后一步,新建列,将去掉空格后的E列和带域名的辅助列合并即可。在新开列单元格中输入=E2&F2 回车(&为合并的意思),向下填充。
7、 复制合并后的列,粘贴在C列,注意应粘贴为值。