当前位置:首页 > 未分类 > 正文内容

Excel怎么快速提取中文的首字母呢?

我不是郭靖4年前 (2023-02-26)未分类647

用Excel收集统计个人信息时,会遇见各种各样的问题。例如:我们需要将中文姓名转换成首字母拼音的形式,这时候该怎么操作呢?

你还在一个一个的输入吗?这样太麻烦了,接下来让我们使用VBA,快速将中文转换成拼音首字母的形式,简单便捷,快来试试吧!

打开Microsoft Excel工作簿,如果Excel文件后缀名是“xlsx”,请先将Excel文档另存为“xls”或者“xlsm”类型。

右键单击Sheet1工作表,选中右键菜单中的查看代码。

动图封面

在Microsoft Visual Basic for Applications窗口中,右键单击工程资源管理器窗口中的空白位置,将鼠标指针移动至插入,选中模块。

接着将以下代码复制粘贴至模块1的代码窗口中,点击保存后退出Visual Basic编辑器。

动图封面

代码区域
Function Getpychar(char)
temp = 65536 + Asc(char)
If (temp >= 45217 And temp <= 45252) Then
Getpychar = "A"
ElseIf (temp >= 45253 And temp <= 45760) Then
Getpychar = "B"
ElseIf (temp >= 45761 And temp <= 46317) Then
Getpychar = "C"
ElseIf (temp >= 46318 And temp <= 46825) Then
Getpychar = "D"
ElseIf (temp >= 46826 And temp <= 47009) Then
Getpychar = "E"
ElseIf (temp >= 47010 And temp <= 47296) Then
Getpychar = "F"
ElseIf (temp >= 47297 And temp <= 47613) Then
Getpychar = "G"
ElseIf (temp >= 47614 And temp <= 48118) Then
Getpychar = "H"
ElseIf (temp >= 48119 And temp <= 49061) Then
Getpychar = "J"
ElseIf (temp >= 49062 And temp <= 49323) Then
Getpychar = "K"
ElseIf (temp >= 49324 And temp <= 49895) Then
Getpychar = "L"
ElseIf (temp >= 49896 And temp <= 50370) Then
Getpychar = "M"
ElseIf (temp >= 50371 And temp <= 50613) Then
Getpychar = "N"
ElseIf (temp >= 50614 And temp <= 50621) Then
Getpychar = "O"
ElseIf (temp >= 50622 And temp <= 50905) Then
Getpychar = "P"
ElseIf (temp >= 50906 And temp <= 51386) Then
Getpychar = "Q"
ElseIf (temp >= 51387 And temp <= 51445) Then
Getpychar = "R"
ElseIf (temp >= 51446 And temp <= 52217) Then
Getpychar = "S"
ElseIf (temp >= 52218 And temp <= 52697) Then
Getpychar = "T"
ElseIf (temp >= 52698 And temp <= 52979) Then
Getpychar = "W"
ElseIf (temp >= 52980 And temp <= 53640) Then
Getpychar = "X"
ElseIf (temp >= 53689 And temp <= 54480) Then
Getpychar = "Y"
ElseIf (temp >= 54481 And temp <= 62289) Then
Getpychar = "Z"
Else
Getpychar = char
End If
End Function
Function Getpy(str)
For a = 1 To Len(str)
Getpy = Getpy & Getpychar(Mid(str, a, 1))
Next a
End Function

例如单元格区域C:C是中文姓名,需要在单元格区域D:D转换成拼音首字母形式。只需在D2单元格中输入函数“=Getpy(C2)”,然后进行单元格填充就可以啦。

动图封面

是不是非常简单便捷呢?抓紧时间把代码收藏起来吧,有备无患。


扫描二维码推送至手机访问。

版权声明:如需转载请注明出处。

本文链接:https://www.1688fs.net/index.php/post/14.html

分享给朋友:

“Excel怎么快速提取中文的首字母呢?” 的相关文章

宝塔面板7.8无缝转为宝塔国际版aapanel,附宝塔7.8降级为宝塔7.7

宝塔面板7.8无缝转为宝塔国际版aapanel,附宝塔7.8降级为宝塔7.7

前言 宝塔最新版已经不能用之前的方法来跳过手机绑定了,之前一直推荐大家用宝塔的海外版本——aapanel。其实aapanel和宝塔的国内版本就是一个东西,只是改了下语言而已,然后少了OD的插件而已。昨天发现大鸟有一篇文章写的是《如何把你的宝塔7.8无缝转为aapanel》,特此抄借鉴到本咕的博客里...

docker容器设置和取消自启动的方法

docker容器设置和取消自启动的方法

命令说明docker inspect 容器名称 | grep "RestartPolicy" -A 3查看指定容器的自启动配置no:不自动重启on-failure:容器错误退出则自动重启always:容器停止则自动重启,手动停止后将在docker守护程序重启后自动重启unless...

经典老歌记录

经典老歌记录

爱就爱了我要找到你加速度海浪下沙爱的就是你情非得已花香爱一个人好难为什么你背着我爱别人谢谢你的爱1999因为爱所以爱单生情歌伤心1999雨一直下第一次背叛情歌那就这样吧大哥情人-杜德伟有多少爱可以重来精忠报国白桦林一生有你爱我久久绿光后来-刘若英至少还有你-林忆莲一个人的精彩-萧亚轩最熟悉的陌生人趁...

openwrt部署aliyundrive-webdav

openwrt部署aliyundrive-webdav

wget https://github.com/messense/aliyundrive-webdav/releases/download/v1.10.4/aliyundrive-webdav_1.10.4-1_x86_64.ipkwget https://github.com/messense/a...

华硕笔记本ERROR Verification failed: (0x1A) Security Violation Ventoy引导启动报错

华硕笔记本ERROR Verification failed: (0x1A) Security Violation Ventoy引导启动报错

通过ventoy启动电脑时,你不会看到想要的ventoy选择系统镜像的界面,而是会看到屏幕显示如下提示:ERROR Verification failed: (0x1A) Security Violation这是因为主板开启了安全启动我们先按ok,然后任意键进入MOK management:1、光标...