精彩课程推荐

excel查找函数应用:如何提取姓名的拼音首字母

[复制链接]
查看: 214|回复: 0
发表于 2020-1-24 16:55:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
哈喽,大家好!如果此刻让你快速提取汉字拼音的首字母,你会怎么做呢?相信大多数小伙伴面对这个问题时,都会蒙圈,可能会想“这应该得用VBA解决吧,函数应该不行吧。”其实呀,这个问题用大家都会的VLOOKUP函数就能搞定,赶紧来看看吧!
在某些特殊的情况下,我们可能需要用到拼音首字母。
例如A列是员工姓名,需要在B列填写对应的拼音首字母:
image.jpg

如果遇上这种问题该怎么办?
据说需要VBA才能做到,可是对于连函数都还没学会几个的普通用户来说,难道真的只能一个一个手动输入吗?
实际上使用一个大家都非常熟悉的VLOOKUP函数也是可以搞定这个问题的,不过公式嘛,就有点吓人,是这个样子的:
image.jpg

看到这个公式是不是都蒙圈了。
可千万不要被这个表面上看起来很夸张的公式吓到,我们换一种写法,也许你就看明白了。
image.jpg

怎么样,这个公式是不是有点看明白了。
与第一个公式的区别就在于,后面这个公式是把VLOOKUP的第二参数放在单元格区域中了,公式的本质并没有什么区别。
因为名单中的姓名都不超过三个字,所以先用MID函数将每个字单独提取出来,使用VLOOKUP得到每个字的拼音首字母,再把三个VLOOKUP函数用&连接起来。
因此公式的核心其实是=VLOOKUP(MID(A2,1,1),$D$1E$24,2)。
对于VLOOKUP函数的用法,大家应该都比较熟悉了,格式是:VLOOKUP(查找值,查找区域,在第几列找,怎么找)。
在本例中,要重点说明的有下面几个要点:
1.第一参数可以使用公式,本例中分别使用MID(A2,1,1)、MID(A2,2,1)和MID(A2,3,1)作为查找值;
2.本例中的VLOOKUP函数只用了三个参数,同时省略了第三参数2后面的逗号,这种写法表示使用了VLOOKUP函数模糊匹配,与第四参数为1的功能相同;
3.关于省略VLOOKUP函数最后一个参数的意义,一定要注意一点,省略参数而不省略逗号时,表示精确匹配,与第四参数为0的功能相同;
4.有时候为了避免使用单元格区域作为查找区域,第二参数可以使用常量数组的方式,本例中开头的公式就是用到了常量数组。
当然,要完全明白这个公式的原理,仅仅解释VLOOKUP函数还是不够的,D列和E列又是什么意思,这些字都是怎么来的,为什么非得用这些奇奇怪怪的字呢?
简单来说,汉字在电脑里是有一个机器编码与之对应的,同时是按照一定的顺序排列的,或者可以理解,汉字也是有“大小”的。
为了让大家更容易理解,我们可以先用数字来做个示例:
假如有0到100之间的数字,十个数字对应同一个字母(红框中的对应规则),我们可以使用公式=VLOOKUP(G2,$I$2J$12,2)得到某个数字所对应的字母。
image.jpg

VLOOKUP函数的这种用法就是模糊匹配,或者说是区间匹配,之前我们出过专门介绍这个用法的教程。
简单来说,要使用模糊匹配,有两个要点要牢记:
1.查找区域的数据必须是升序排列的;
2.区域的首列是区间所对应的下限值。
如果理解了这些要点,再来看拼音的问题,就很容易明白,D列的每个字都是该拼音开头的第一个字(下限)。
image.jpg

最后一个问题,有细心的同学也许发现了,数据是从第二行开始的,为什么公式里的区域是从第一行开始的?
其实第一个字上面并不是空的,而是一个假空(由公式得到的空值)。
image.jpg

之所以这样做,是为了避免公式中出现错误,例如当名字是两个字的时候,第三个VLOOKUP中的MID就会得到一个空值:
image.jpg

如果在查找区域中,没有空值的话,公式会得到错误值:
image.jpg

好了,关于这个提取拼音首字母的公式就解释到这里,可能这种问题并不常见,但今天的主要目的还是为了通过这个特殊的实例来分析一些公式中的细节,细节掌握的越多,你就离高手的距离越近!
最后把不需要辅助区域的公式分享给大家,有需要的话可以自己保存起来,万一有一天用上的时候,这个公式一定能让同事对你刮目相看:
=VLOOKUP(MID(A2,1,1),,2)&VLOOKUP(MID(A2,3,1),{"",0;"吖","A";"八","B";"攃","C";"咑","D";"鵽","E";"发","F";"旮","G";"哈","H";"丌","J";"咔","K";"垃","L";"妈",
?嗯,理解操作原理,然后你就可以自由发挥了!






上一篇:个人所得税核定征收的作用、大致流程、注意事项?
下一篇:EXCEL插入不了行与列?

2830

主题

3103

帖子

15万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
159786

突出贡献优秀版主荣誉管理论坛元老管理员

推荐:原价298现活动价只需¥198 充值开通VIP会员就可以学习本站全部资源【点击立即开通】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

商务合作

客服热线:400-808-2188
点击这里给我发消息

关注微信

Copyright;  ©2013-2020  天天会计网  网站地图  友情链接   ( 粤ICP备16059295号-1 )