power162172763
您好!我是EXCEL学习微课堂,头条教育视频原创作者,分享EXCEL学习的小技巧,小经验。
有哪些方法可以提取excel单元格内不规则的姓名?介绍2种方法。
第1种方法:快速填充法
快速填充是EXCEL2013以上版本的中一个新功能。运用快速填充时,首先直接输入一组到三组数据,让Excel自动识别你的意图,再进行快速填充。运用快速填充功能,不仅能单元格内提取不规则的姓名,还可以提取数字、英文等。快速填充的方式有3种:
1、单击“数据”选项卡 > 在“数据工具”组中 > 单击“快速填充”;
2、用快捷键Ctrl+E;
3、选中示例单元格,拖动填充柄往下填充,然后在“自动填充”选项中选择“快速填充”;
快速提取A列中的姓名案例演示:
第2种方法,用自定义函数myget
函数有两参数,=myget(①从哪提取,②提取什么)
=myget(字符串,0) 取出数字
=myget(字符串,1) 取出中文字符
=myget(字符串,2) 取出英文字母
=myget(字符串,3) 取出特殊字符
=myget(字符串,4) 取出取第一个数字的位置
=myget(字符串,5) 取出取最后一个数字的位置
如果只要提取数字,只要将第2个参数设为0即可
方法步骤:
首先导入自定义函数的模板文件,点开发工具→VBA或都按ALT+F11 调出VBA 编辑器 →在工程窗口右键选择【导入文件】→选择VBA 模块文件(提取中文、英文和数字自定义函数myget.bas)→关闭VBA 编辑器。然后再输入公式即可。
动态演示:
如果我的回答对您有帮助,欢迎点赞、收藏、评论、转发,更多的EXCEL技能,可以关注今日头条“EXCEL学习微课堂”。如需要自定义函数myget的VBA代码文件的,在点赞、评论、转发后私信联系我!
EXCEL学习微课堂
我能想到的最好的方法就是使用Excel的“快速填充“功能,他能解决大部分提取文本的问题。
什么是快速填充呢?他是基于示例进行填充数据的一种智能填充法。它通常在识别数据中的某种模式后开始运行,当您的数据具有某种一致性时效果最佳。
1、快速提取邮箱地址中的姓名
如果你指的不规则姓名是在邮箱地址中的(或者类似于邮箱地址),那么通过快速填充功能,不需要写任何函数,按Ctrl+E就能解决。
①在名字和姓氏列输入想要提取的数据
②回车
③按Ctrl+E快捷键(Ctrl+E是快速填充的快捷键)
2、快速提取长文本中的关键信息
比如你将一长串信息输入到同一个单元格中,这样的数据处理起来是比较麻烦的,我们需要将其分离,使用快速填充仍然可以瞬间完成。
3、字符串提取+合并
快速填充还能一次性进行字符串的提取+合并,比如你在一个单元各种提取姓氏、在另一个单元格中提取名字,然后将姓氏和名字组合成姓名,如果使用函数的话,需要写较长的公式,快速填充功能则一次性即可完成,如图所示:
4、改变文本的顺序
还有更神奇的应用呢!
比如姓名后面附带的有拼音,现在想让拼音和姓名的顺序进行对调,也就是说把拼音写在姓名前面。
使用传统的方法,这将是一个非常复杂的操作,但是用快速填充法,Excel能识别出来你的意图,只需要在第一个单元格输入改变顺序之后的文本,按Ctrl+E快捷键,就能完成所有的文本顺序改变。
快速填充的这四种应用对应四种不同的场景,我想你说的不规则的姓名,应该在这四种场景范围内,你学会了么?
「精进Excel」系头条签约作者,关注我,如果任意点开三篇文章,没有你想要的知识,算我耍流氓!
精进Excel
用vba吧?
提供思路:
1.下载百家姓,放在excel
2.用dictionary,把百家姓装入字典
3.循环提取姓名的左边第一,第二个,第三个一直到姓名长度,并判断dictionary中有无存在,如果存在,可返回对应长度;
4.用right函数,提取姓名中的名字