编按:哈喽,大家好!如果此刻让你快速提取汉字拼音的首字母,你会怎么做呢?相信大多数小伙伴面对这个问题时,都会蒙圈,可能会想“这应该得用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列又是什么意思,这些字都是怎么来的,为什么非得用这些奇奇怪怪的字呢?

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

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

假如有0到100之间的数字,十个数字对应同一个字母(红框中的对应规则),我们可以使用公式=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";"妈",


​嗯,理解操作原理,然后你就可以自由发挥了!

****部落窝教育-excel提取拼音字母****

原创:老菜鸟/部落窝教育(未经同意,请勿转载)

更多教程:部落窝教育(http://www.itblw.com)

微信公众号:exceljiaocheng

拼音开头有什么字_excel查找函数应用:如何提取姓名的拼音首字母相关推荐

  1. 拼音开头有什么字_语文基础 孩子刚上一年级学习拼音太难了?家长在家这样教真不比老师差!...

    1 单韵母 6个单韵母,很重要,发音口形要摆好 嘴巴张大 a a a ,嘴巴圆圆 o o o , 嘴巴扁扁 e e e ,牙齿对齐 i i i , 嘴巴突出 u u u ,嘴吹口哨 ü ü ü . 记 ...

  2. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,支持生僻字且自动识别utf-8编码的php汉字转拼音类_PHP教程...

    拼音类文件py_class.php源码如下: pinyin = array( "a" => array(59371, 41648, 50400, 33157, 41392, ...

  3. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,支持生僻字且自动识别utf-8编码的php汉字转拼音类_PHP...

    拼音类文件py_class.php源码如下: pinyin = array( "a" => array(59371, 41648, 50400, 33157, 41392, ...

  4. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,支持生僻字且自动识别utf-8编码的php汉字转拼音类...

    拼音类文件py_class.php源码如下: class py_class{ function py_class(){ $this -> pinyin = array( "a" ...

  5. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,支持生僻字且自动识别utf-8编码的php汉字转拼音类_php技巧...

    拼音类文件py_class.php源码如下: class py_class{ function py_class(){ $this -> pinyin = array( "a" ...

  6. oracle 中文拼音取首字母,ORACLE依据中文拼音首字母排序、取得中文拼音首字母函数...

    当前位置:我的异常网» 数据库 » ORACLE依据中文拼音首字母排序.取得中文拼音首字母 ORACLE依据中文拼音首字母排序.取得中文拼音首字母函数 www.myexceptions.net  网友 ...

  7. vba 全拼_[求助]如何把中文名字转换为拼音(全拼、首字母)

    你的位置: 问答吧 -> excel -> 问题详情 [求助]如何把中文名字转换为拼音(全拼.首字母) 现需要把中文名字的拼音做企业邮箱的名字,姓用全拼,名用首字母,比如刘翔为liux,应 ...

  8. mysql 按拼音码查询,MySQL拼音首字母查询

    最近一个项目中有个模块须要实现拼音首字母查询功能,网上查了一下资料,本身从新修改整理了一下,使其知足项目的要求.sql 实现过程以下:函数 1.建立一个获取中英文大写首字母函数:code DROP F ...

  9. java 汉字转换全拼、首字母拼音

    最近接到需求,要求商城中进行半模糊搜索时,输入拼音字母同样要求进行自动匹配出相关品牌.类目.关键词等数据,从而进行筛选商品 本片内容只记录汉字转换拼音 方案一:在mysql数据库中编写函数,此方法存在 ...

最新文章

  1. tp3.2.3运用phpexcel将excel文件导入mysql数据库
  2. linux 跟踪链接 超时,Linux:跟踪netstat -s“连接尝试失败”的来源
  3. 微服务系列:服务注册与发现的实现原理、及实现优劣势比较
  4. python十大语言领域_十大编程语言榜单
  5. mfc 制作不同的文档模板mdi不同的子窗体_鹤岗水利渡槽钢模板设计-哈尔滨同顺钢模板...
  6. accp8.0 网页编程_某程序员月入上万!为何却说:我希望自己从来没有学过编程? - C/C++爱好者...
  7. 转DateTimePicker 控件的使用
  8. oracle数据库管理和日常维护,oracle数据库管理与维护
  9. 如何把html文件转化为mp3,如何将Flash转换为MP3
  10. ra8873 ST7789区别
  11. 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串
  12. 第10 章 量化的项目管理
  13. 鸿蒙 OS 2.0 公测!已适配多款机型
  14. DS18B20+数码管显示
  15. angularjs2学习教程
  16. Excel破解宏密码
  17. vue3+ant design vue+ts实战【ant-design-vue组件库引入】
  18. c++ set使用(增删查遍历)
  19. 对当前两种热门软件创新性分析
  20. 自编译 micropython ESP32固件指南以及16MB固件分享

热门文章

  1. 一行代码不用写,就可以训练、测试、使用模型,这个star量1.5k的项目帮你做到...
  2. 什么是 CNN?Facebook 员工写给小白的机器学习入门贴彻底火了!
  3. 如何用Python玩转比特币?(附源码)
  4. 为什么抢红包抢不过别人?学了这个算法就明白了!
  5. 【每日一算法】二叉搜索树结点最小距离
  6. docker依赖的技术探索
  7. 使用PixelLib来实现图像分割
  8. 基于OpenCV Haar实战级联分类器的使用
  9. Sequelize 4.43.0 发布,基于 Nodejs 的异步 ORM 框架
  10. 【Linux】备份与压缩命令命令