老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了

Hello,大家好,前几天跟大家分享了如何提取姓名中的拼音,紧接着就有粉丝在后台私信提问到如何提取到姓名的首字母,表示自己有几千个姓名需要提取,都是一个一个的手动输入,及其耗费时间,今天就跟你大家分享2种提取姓名首字母的方法

一、利用word加函数提取

首先我们创建一个辅助列,输入公式=A2&” “,我们将每个姓名后面都加上空格,这样做是为了后期分列使用

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图1

然后我们将姓名粘贴进word中在选择性粘贴中选择值,紧接着我们选择这些姓名,将其加上拼音,紧接着我们按快捷键ctrl+H调出替换窗口,然后在查找值中输入^p替换为中什么都不要输入,然后点击全部替换,这样话数据都变为了一行

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图3

然后复制加上用拼音的名字,双击excel的一个单元格,注意,必须双击,然后按ctrl+v将其粘贴进excel中,紧接着选择这个单元格,然后点击分列,分列方式选择分隔符号,分隔符选择空格这样的话我们就将每一个姓名都分割为一个单元格了

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图5

然后我们选择这个数据,复制他,点击鼠标右键找到选择性粘贴,然后选择转置这样的话我们讲就姓名转换为竖着显示

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图7

紧接着我们输入公式

=IFERROR(MID( I1,FIND(“#”,SUBSTITUTE( I1,”(“,”#”,1),1)+1,1),””)&IFERROR(MID( I1,FIND(“#”,SUBSTITUTE( I1,”(“,”#”,2),1)+1,1),””)&IFERROR(MID( I1,FIND(“#”,SUBSTITUTE( I1,”(“,”#”,3),1)+1,1),””)&IFERROR(MID( I1,FIND(“#”,SUBSTITUTE( I1,”(“,”#”,4),1)+1,1),””)

最后我们使用UPPER函数将小写转换为大写字母即可

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图9

跟大家讲的讲解下函数,这个函数看起来很长其实非常的简单,

如上图,我们可以看到姓名的结构都是每个字后面是一个括号,然后括号里面是拼音,在这里理论上我们只需要查找到左括号的位置然后加1就是姓名首字母的位置,然后我们利用mid函数提取即可

但是find函数不能查找相同的字符串,它仅仅会返回查找到的第一个字符串的位置,所以我们使用四次SUBSTITUTE分别将1234个左括号替换为#号,我们来查找#号的位置来确定左括号的位置,公式比较长是因为我们使用了4次SUBSTITUTE函数,其实这四个函数仅SUBSTITUTE函数的第四参数不一样,这样的话就能分别的查找到左括号的位置提取到精确首字母,如果你懒得写公式的话,仅需将单元格的位置替换为你的目标位置即可

二、使用vba提取首字母

首先点击开发工具,然后点击visualbasic,然后点击插入选择模块,将如下代码复制进去,然后关闭,紧接着我们输入=py然后选择姓名,这样的话我们也能获取姓名首字母,在这里我们自定义了一个py函数来实现这样的操作

老板让我提取员工姓名的首字母,我做了1周,可同事3分钟就搞定了插图11

代码如下

Function pinyin(p As String) As String
i = Asc(p)
Select Case i
Case -20319 To -20284: pinyin = “A”
Case -20283 To -19776: pinyin = “B”
Case -19775 To -19219: pinyin = “C”
Case -19218 To -18711: pinyin = “D”
Case -18710 To -18527: pinyin = “E”
Case -18526 To -18240: pinyin = “F”
Case -18239 To -17923: pinyin = “G”
Case -17922 To -17418: pinyin = “H”
Case -17417 To -16475: pinyin = “J”
Case -16474 To -16213: pinyin = “K”
Case -16212 To -15641: pinyin = “L”
Case -15640 To -15166: pinyin = “M”
Case -15165 To -14923: pinyin = “N”
Case -14922 To -14915: pinyin = “O”
Case -14914 To -14631: pinyin = “P”
Case -14630 To -14150: pinyin = “Q”
Case -14149 To -14091: pinyin = “R”
Case -14090 To -13319: pinyin = “S”
Case -13318 To -12839: pinyin = “T”
Case -12838 To -12557: pinyin = “W”
Case -12556 To -11848: pinyin = “X”
Case -11847 To -11056: pinyin = “Y”
Case -11055 To -2050: pinyin = “Z”
Case Else: pinyin = p
End Select
End Function
Function py(str)
For i = 1 To Len(str)
py = py & pinyin(Mid(str, i, 1))
Next i
End Function

今天的教程有点难,你更喜欢哪一种方法呢

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。本文网址:https://www.excelwordppt.com/word-excel-ppt/6532.html

发表评论

登录后才能评论