今天收到一个需求,需要将中文名改成拼音并需要将姓氏放后面 名字首字母和姓氏首字母需大写 中间加空格,类似如下
其中用到了汉子转拼音的Visual Basic 模块
英文快速分列技巧
实现首字母大写的PROPER() 函数
快速合并单元格并保留数值的CONCATENATE() 函数
好了,下面教程开始,首先将汉子转成拼音
首先表格在此:
按“Alt+F11”组合键,进入Visual Basic编辑状态。
也就是看到的这个灰色的编辑界面
执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;
将下面字符编码.txt 里面的代码复制到上图3的位置
选择关闭并返回
回到excel,在B1 单元格输入=getpy(A1) 具体以单元格为准
回车后得到
然后快速复制到每个单元格
这个时候转拼音已经完成了,我们还需要将 姓氏放到名字后面 并将首字母大写
我们将B列复制 然后重新粘贴到B列 选择以数值格式粘贴 这样就不带函数格式,否则下面操作无效
首先将光标放在B1上,并按下 ctrl+shift+下 选中B列所有数值
然后选择 数据--分列--下一步
勾选上空格选项 然后下一步
点击完成
获得如下三列数据:
因为测试数据大部分两个字 我加了个三个字 这样就有三列数值了,我们将姓氏复制到名字后 如下图
然后用PROPER() 函数将名字首字母大写,具体如下:
在E1中输入=PROPER(B1)
然后快速复制这样就得到所有首字母是大写的名了
将这列数值粘贴回 B1 并以数值格式复制,不要带上函数格式,同时将姓氏列 做同样的操作得到首字母大写
这个时候所有的大小写及拼音就已经完成了,我们只需将他们合并回去就可以了,注意我们还需要在姓氏和名字中间加个空格,我们如下操作即可!
在C列和D列中间插入一列新列D列,并在D1里面输入一个空格 并选择快速复制到所有列
这样D列现在就是全部都是空格的 我们将B C D E 合并就能实现姓氏和名字中间加个空格了,合并操作如下
在F列输入 =CONCATENATE(B1,C1,D1,E1)
这个就是合并B1 C1 D1 E1单元格的函数
回车后快速复制到F列所有单元格,这样就实现了所有列的名字转拼音并 首字母大写 姓名调换了!
还没有评论,来说两句吧...