把excel中把汉字转换成拼音(只取首字母)的方法和步骤

利用Excel表格中的宏,轻松提取首字母

方法/步骤

1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表;

2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态;

3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;

4.将代码输入其中;

Function pinyin(p As String) As String

i = Asc(p)

Select Case i

Case -20319 To -20284: pinyin = "A"

Case -20283 To -19776: pinyin = "B"

Case -19775 To -19219: pinyin = "C"

Case -19218 To -18711: pinyin = "D"

Case -18710 To -18527: pinyin = "E"

Case -18526 To -18240: pinyin = "F"

Case -18239 To -17923: pinyin = "G"

Case -17922 To -17418: pinyin = "H"

Case -17417 To -16475: pinyin = "J"

Case -16474 To -16213: pinyin = "K"

Case -16212 To -15641: pinyin = "L"

Case -15640 To -15166: pinyin = "M"

Case -15165 To -14923: pinyin = "N"

Case -14922 To -14915: pinyin = "O"

Case -14914 To -14631: pinyin = "P"

Case -14630 To -14150: pinyin = "Q"

Case -14149 To -14091: pinyin = "R"

Case -14090 To -13319: pinyin = "S"

Case -13318 To -12839: pinyin = "T"

Case -12838 To -12557: pinyin = "W"

Case -12556 To -11848: pinyin = "X"

Case -11847 To -11056: pinyin = "Y"

Case -11055 To -2050: pinyin = "Z"

Case Else: pinyin = p

End Select

End Function

Function getpy(str)

For i = 1 To Len(str)

getpy = getpy & pinyin(Mid(str, i, 1))

Next i

End Function

   5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态;

6.自定义函数就可以用了,如:选中A2单元格,输入公式:=getpy(A2)。

END

注意事项

  例子:要在Excel中使用,方法如下: A1 A2 中国 =getpy(A1)


  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Excel 转换成拼音首字母,需要用到 Excel 的 CONCATENATE 函数和 VBA 的函数。具体步骤如下: 1. 打开 Excel 文档,选需要换的文文字所在的单元格。 2. 在单元格输入以下公式: =CONCATENATE(IF(ISERROR(FIND(LEFT(B1,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")), LEFT(B1,1), ""), IF(ISERROR(FIND(MID(B1,2,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")), MID(B1,2,1), ""), IF(ISERROR(FIND(MID(B1,3,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")), MID(B1,3,1), ""), IF(ISERROR(FIND(MID(B1,4,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")), MID(B1,4,1), "")) 其,B1 表示需要换的文文字所在的单元格。 3. 按下 Enter 键,完成公式输入。此时,该单元格文文字已经转换成拼音首字母。 4. 如果需要批量换多个文文字,可以将公式拖动到需要换的单元格范围内,再按下 Ctrl+Enter 键,即可完成批量换。 5. 如果需要将上述公式导入到 VBA ,可以使用以下 VBA 函数: Function ChineseToPinyin(ByVal str As String) As String Dim i As Integer For i = 1 To Len(str) If AscW(Mid(str, i, 1)) < 19968 Or AscW(Mid(str, i, 1)) > 40869 Then ChineseToPinyin = ChineseToPinyin & Mid(str, i, 1) Else ChineseToPinyin = ChineseToPinyin & Left(Application.WorksheetFunction.VLookup(Mid(str, i, 1), Range("A1:B405"), 2, False), 1) End If Next i End Function 其,Range("A1:B405") 是一个包含文字符和对应拼音首字母的数据表格。在使用该函数时,需要将该数据表格插入到 Excel ,并修改代码的数据表格范围和单元格引用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值