二维码 购物车
部落窝在线教育欢迎您!

如何快速用excel提取汉字拼音首字母?

 

作者:老菜鸟来源:部落窝教育发布时间:2019-12-13 17:34:20点击:19462

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。

编按:

哈喽,大家好!如果此刻让你快速提取汉字拼音的首字母,你会怎么做呢?相信大多数小伙伴面对这个问题时,都会蒙圈,可能会想“这应该得用VBA解决吧,函数应该不行吧。”其实呀,这个问题用大家都会的VLOOKUP函数就能搞定,赶紧来看看吧!

 

在某些特殊的情况下,我们可能需要用到拼音首字母。

 

例如A列是员工姓名,需要在B列填写对应的拼音首字母:

 

 

如果遇上这种问题该怎么办?

 

据说需要VBA才能做到,可是对于连函数都还没学会几个的普通用户来说,难道真的只能一个一个手动输入吗?

 

实际上使用一个大家都非常熟悉的VLOOKUP函数也是可以搞定这个问题的,不过公式嘛,就有点吓人,是这个样子的:

 

 

看到这个公式是不是都蒙圈了。

 

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

 

 

怎么样,这个公式是不是有点看明白了。

 

与第一个公式的区别就在于,后面这个公式是把VLOOKUP的第二参数放在单元格区域中了,公式的本质并没有什么区别。

 

因为名单中的姓名都不超过三个字,所以先用MID函数将每个字单独提取出来,使用VLOOKUP得到每个字的拼音首字母,再把三个VLOOKUP函数用&连接起来。

 

因此公式的核心其实是=VLOOKUP(MID(A2,1,1),$D$1:$E$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列又是什么意思,这些字都是怎么来的,为什么非得用这些奇奇怪怪的字呢?

 

简单来说,汉字在电脑里是有一个机器编码与之对应的,同时是按照一定的顺序排列的,或者可以理解,汉字也是有“大小”的。

 

为了让大家更容易理解,我们可以先用数字来做个示例:

 

假如有0100之间的数字,十个数字对应同一个字母(红框中的对应规则),我们可以使用公式=VLOOKUP(G2,$I$2:$J$12,2)得到某个数字所对应的字母。

 

 

VLOOKUP函数的这种用法就是模糊匹配,或者说是区间匹配,之前我们出过专门介绍这个用法的教程。

 

简单来说,要使用模糊匹配,有两个要点要牢记:

 

1.查找区域的数据必须是升序排列的;

 

2.区域的首列是区间所对应的下限值。

 

如果理解了这些要点,再来看拼音的问题,就很容易明白,D列的每个字都是该拼音开头的第一个字(下限)。

 

 

最后一个问题,有细心的同学也许发现了,数据是从第二行开始的,为什么公式里的区域是从第一行开始的?

 

其实第一个字上面并不是空的,而是一个假空(由公式得到的空值)。

 

 

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

 

 

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

 

 

好了,关于这个提取拼音首字母的公式就解释到这里,可能这种问题并不常见,但今天的主要目的还是为了通过这个特殊的实例来分析一些公式中的细节,细节掌握的越多,你就离高手的距离越近!

 

最后把不需要辅助区域的公式分享给大家,有需要的话可以自己保存起来,万一有一天用上的时候,这个公式一定能让同事对你刮目相看:

 

=VLOOKUP(MID(A2,1,1),{"",0;"","A";"","B";"","C";"","D";"","E";"","F";"","G";"","H";"","J";"","K";"","L";"","M";"","N";"","O";"","P";"","Q";"","R";"","S";"","T";"","W";"","X";"","Y";"","Z"},2)&VLOOKUP(MID(A2,2,1),{"",0;"","A";"","B";"","C";"","D";"","E";"","F";"","G";"","H";"","J";"","K";"","L";"","M";"","N";"","O";"","P";"","Q";"","R";"","S";"","T";"","W";"","X";"","Y";"","Z"},2)&VLOOKUP(MID(A2,3,1),{"",0;"","A";"","B";"","C";"","D";"","E";"","F";"","G";"","H";"","J";"","K";"","L";"","M";"","N";"","O";"","P";"","Q";"","R";"","S";"","T";"","W";"","X";"","Y";"","Z"},2)


本文配套的练习课件请加入QQ群:747953401下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

VLOOKUP模糊查找等了64个夜晚,VLOOKUP坐字法合并单元格查找的秘密终于破了!

区间查询VLOOKUP&LOOKUP双雄战(三):LOOKUP守得云开见月明

VLOOKUP逆向查询《VLOOKUP&LOOKUP双雄战(四):在横向和逆向查询上的血拼!