vlookup函数将汉字转换拼音首字母

在制作表格的时候,我们需要提取汉字的首个拼音字母,如果使用vba可以分分钟轻松实现,但VBA的使用并不是很普及,所以仅使用函数就可以实现这些需求就成了很多人寻找的方法;

如下图:

vlookup汉字转拼音1.jpg

这些都是可以使用函数实现的,并不需要在excel和word中粘贴转换这么麻烦,省了不少步骤,减少失误;

第一,整理对照表

我们需要先整理一份汉字和字母的对照表,然后就可以用vlookup函数或者是lookup函数的查找单个汉字的拼音首字母了。

日记坊找来了Asc码的对照字母顺序表,然后得出了汉字与字母的对照关系,对照表如下:

字母汉字对照表
A4521745252
B4525345760
C4576146317
D4631846825
E4682647009
F4701047296
G4729747613
H4761448118
J4811949061
K4906249323
L4932449895
M4989650370
n5037150613
O5061450621
P5062250905
Q5090851386
R5138751445
S5144652217
t5221852697
W5269852979
X5298053688
Y5368954480
Z5448162289

上表是最接近正常的对照表,当然不排除还有一些生僻字无法提取,应该基本能够正常使用;网上有些对照表,经日记坊测试并不正确,比如"C"字母,有些人用“嚓”字作对照,经测试“曹”字出来的字母是"B"而不是"C",又如字母“G”,用些人用“猤”字作对照,经测试"关”字出来的字母是"F"而不是"G",其他就不一一举例了;

第二步,使用方法

1、单个汉字转换字母

我们知道vlookup是有四个参数,当省略第四个参数时,表示模糊查找,这与lookup功能类似,我们用一些百家姓来作一个小小的测试,结果是OK的;

汉字转字母.gif

公式:=VLOOKUP(K4,if({1,0},$G$4:$G$26,$C$4:$C$26),2)

说明:因本例中要转换的字母是在前,被引用的汉字在后,属于逆向查找,所以加了IF{1.0}这个参数,如果是正向查找就不需要,具体使用方法可以参照日记坊前期的文章,有详细介绍;

如果是用lookup函数,则会更简单;

2、多个汉字转换字母

上例只是一个汉字的首字母转换,如果是多个汉字,比如姓名,则需要使用如下:

多汉字转字母.gif

公式:=VLOOKUP(left(K4),IF({1,0},$G$4:$G$26,$C$4:$C$26),2)&VLOOKUP(mid(K4,2,1),IF({1,0},$G$4:$G$26,$C$4:$C$26),2)&IF(len(K4)>2,VLOOKUP(MID(K4,3,1),IF({1,0},$G$4:$G$26,$C$4:$C$26),2),"")&IF(LEN(K4)>3,VLOOKUP(MID(K4,4,1),IF({1,0},$G$4:$G$26,$C$4:$C$26),2),"")

说明:因为可能存在有复姓加双字的姓名,所以第3个字起要添加IF判断姓名的长度,同理如果是正向引用可以省略IF{1,0}这个参数;

RIJIFANG日记坊
打赏
转载请注明出处;
本文地址:https://rijifang.com/index.php/post/681.html
相关热文

发表评论: