excel提取汉字的拼音首字母集锦 (1)

合集下载

excel:汉字拼音首字母提取

excel:汉字拼音首字母提取

方法一:VBA自定义函数"=hztopy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入下述代码,(按ALT+F11,插入模块,在右面窗口中粘贴下面代码)那么,比如在A3中有"进退两难",则在B3中输入"=hztopy(A3)",则会得到"JTLN"。

不过此法有时候也会出错,比如"皓、鑫、婷、雯、奕"等,就无法提取汉字拼音首字母。

Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function方法二:VBA自定义函数"=getpy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入上述代码,那么。

excel获得汉字首字母的方法

excel获得汉字首字母的方法

在日常工作和学习中,我们经常需要对文本进行处理和分析,尤其是对于中文文本。

在处理中文文本时,有时会遇到需要将汉字转换为拼音的需求。

而在Excel中,获得汉字的首字母则成为了一个常见的需求。

那么,如何在Excel中获得汉字的首字母呢?我们可以利用Excel内置的函数来实现这一目标。

在Excel中,可以使用VB脚本编写一个自定义函数来获取汉字的首字母。

具体步骤如下:1. 打开Excel表格,按下ALT + F11,打开VB编辑器。

2. 在VB编辑器中,插入一个新模块。

3. 在新模块中输入以下VB脚本代码:```vbFunction GetFirstLetter(str As String) As StringDim pinyin As StringDim i As IntegerDim ch As Stringpinyin = ""For i = 1 To Len(str)ch = Mid(str, i, 1)pinyin = pinyin &Left(Application.WorksheetFunction.Phonetic(ch), 1)Next iGetFirstLetter = pinyinEnd Function```4. 编译保存后,返回Excel表格界面。

5. 在需要获取汉字首字母的单元格中输入`=GetFirstLetter(A1)`,其中A1为需要转换的汉字所在的单元格。

6. 按下Enter键,即可在目标单元格中获取到相应汉字的首字母。

通过上述方法,我们可以轻松地在Excel中获得汉字的首字母,而且可以将这个函数在多个单元格中批量应用,提高工作效率。

除了使用VB脚本自定义函数外,我们还可以借助Excel内置的函数来实现汉字首字母的获取。

在Excel中,有一个叫做UNICODE的函数,可以返回指定字符的Unicode编码。

而对于汉字来说,其首字母的Unicode编码可以作为其拼音的首字母。

EXCEL中怎么把汉字变成拼音,并取拼音的第一个大写字母

EXCEL中怎么把汉字变成拼音,并取拼音的第一个大写字母

打开Excel->工具->宏->Viaual Basic编辑器在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击在右边的空白栏中粘贴以下内容:Function pinyin(p As String) As Stringi = Asc(p)Select Case iCase -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 = pEnd SelectEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy & pinyin(Mid(str, i, 1))Next iEnd Function********复制到此结束,本行不复制*******现在转换函数已编写完成!关掉此编缉的窗口。

提取单元格汉字首字母

提取单元格汉字首字母

提取单元格汉字首字母在处理 Excel 表格数据时,有时需要将单元格中的汉字转换为汉字拼音的首字母,以便进行后续的数据分析和处理。

本文将介绍如何使用 Excel 中的函数和工具来提取单元格汉字首字母,并分析其适用范围和注意事项。

一、使用 LEFT 函数提取单个汉字的首字母Excel 中的 LEFT 函数用于从文本字符串的左侧提取指定长度的字符。

结合汉字拼音的特点,可以使用 LEFT 函数提取汉字的首字母。

例如,假设 A1 单元格中为“中国”,则可以使用以下公式提取其首字母:=LEFT(A1,1)这个公式的含义是从单元格 A1 左侧提取 1 个字符,即“中”的首字母,“结果为“Z”。

需要注意的是,该方法只能提取单个汉字的首字母,多个汉字则无法处理。

二、使用 VBA 宏提取多个汉字的首字母如果需要提取多个汉字的首字母,可以使用 Excel 的 VBA 宏来实现。

下面是一段实现该功能的 VBA 代码:Sub ChineseFirstLetter()Dim str As String, result As Stringstr = Selection.ValueFor i = 1 To Len(str)result = result &Left(LCase(Application.WorksheetFunction.Substitute(Application.Transpose(Split(Trim (str(i, 1)), " ")), " ", "")), 1)Next iSelection.Value = UCase(result)End Sub该宏的作用是将选定区域中的汉字转换为首字母,并将结果替换原单元格中的内容。

需要注意的是,该宏需要在 Excel 中启用宏功能,并将其保存为一个新的模块。

三、使用 PinYin 工具包提取多个汉字的首字母使用 VBA 宏虽然能够实现多个汉字首字母的提取,但对于不熟悉 VBA 编程的用户来说,会存在一定的难度。

excel查找函数应用:如何提取姓名的拼音首字母

excel查找函数应用:如何提取姓名的拼音首字母

excel查找函数应用:如何提取姓名的拼音首字母编按:哈喽,大家好!如果此刻让你快速提取汉字拼音的首字母,你会怎么做呢?相信大多数小伙伴面对这个问题时,都会蒙圈,可能会想“这应该得用VBA解决吧,函数应该不行吧。

”其实呀,这个问题用大家都会的VLOOKUP函数就能搞定,赶紧来看看吧!例如A列是员工姓名,需要在B列填写对应的拼音首字母:如果遇上这种问题该怎么办?用户来说,难道真的只能一个一个手动输入吗?实际上使用一个大家都非常熟悉的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.有时候为了避免使用单元格区域作为查找区域,第二参数可以使用常量数组的方式,本例中开头的公式就是用到了常量数组。

excel:汉字拼音首字母提取

excel:汉字拼音首字母提取

方法一:VBA自定义函数"=hztopy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入下述代码,(按ALT+F11,插入模块,在右面窗口中粘贴下面代码)那么,比如在A3中有"进退两难",则在B3中输入"=hztopy(A3)",则会得到"JTLN"。

不过此法有时候也会出错,比如"皓、鑫、婷、雯、奕"等,就无法提取汉字拼音首字母。

Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function方法二:VBA自定义函数"=getpy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入上述代码,那么。

EXCEL如何提取汉字首字母

EXCEL如何提取汉字首字母

方法/步骤1.首先,打开Excel,同时按下Alt+F11键,打开VBE界面,如下图所示。

在VBE界面中,单击图片中所示的左上角空白处,选择“插入“,”模块“。

2.此时,就插入了一个模块,后面的代码就要放到这个模块中,保证右侧空白区域是模块代码的编辑区(最保险的做法是双击模块),然后执行下一步操作。

3.将下面的代码全部复制粘贴到空白区域。

Function pinyin(p As String) As Stringi = Asc(p)Select Case iCase -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 = pEnd SelectEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy& pinyin(Mid(str, i, 1)) Next iEnd Function4.然后关闭这个新界面,返回Excel,就可以像Excel自带的函数一样使用这个自定义的Getpy函数了,它只有一个参数,参数可以直接指定单元格,也可以直接输入字符。

在excel中把汉字转换成拼音只取首字母

在excel中把汉字转换成拼音只取首字母

打开Excel->工具->宏->Viaual Basic编辑器在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击在右边的空白栏中粘贴以下内容:Function pinyin(p As String) As Stringi = Asc(p)Select Case iCase -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 = pEnd SelectEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy & pinyin(Mid(str, i, 1)) Next iEnd Function********复制到此结束,本行不复制*******现在转换函数已编写完成!关掉此编缉的窗口。

在excel中把汉字转换成拼音(只取首字母)

在excel中把汉字转换成拼音(只取首字母)

打开Excel->工具->宏->Viaual Basic编辑器在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击在右边的空白栏中粘贴以下内容:Function pinyin(p As String) As Stringi = Asc(p)Select Case iCase -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 = pEnd SelectEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy & pinyin(Mid(str, i, 1))Next iEnd Function********复制到此结束,本行不复制*******现在转换函数已编写完成!关掉此编缉的窗口。

excel提取汉语简拼

excel提取汉语简拼

excel提取汉语简拼汉语简拼是一种将汉字通过拼音字母来表示的拼音输入法。

在Excel中,我们可以使用一些方法来提取汉语简拼,并利用这些拼音来命名或分类数据,提高数据的整理和查找效率。

我们可以使用Excel的函数来提取汉字的拼音首字母。

在Excel中,有一个函数叫做“LEFT”,它可以提取文本字符串的左边指定长度的字符。

我们可以利用这个函数,将汉字转换成拼音首字母。

例如,如果我们要提取汉字“汉”的拼音首字母,我们可以使用以下公式:=LEFT(拼音函数, 1)其中,“拼音函数”代表一个将汉字转换成拼音的函数,可以使用Excel的内置函数“=PINYIN(汉字)”来实现。

将这个公式应用到一个指定的单元格,就可以得到汉字的拼音首字母。

我们可以利用提取出的汉语简拼来命名或分类数据。

在Excel中,我们可以通过选择数据范围,然后点击“格式”->“条件格式”->“新建规则”,来为数据添加颜色标记。

我们可以根据汉语简拼的首字母来设置不同的颜色,以便在查找和整理数据时更加方便。

例如,我们可以将所有以“H”开头的汉字单元格标记为红色,以“Y”开头的汉字单元格标记为黄色,以此类推。

我们还可以利用提取出的汉语简拼来进行数据的筛选和排序。

在Excel中,我们可以使用“筛选”功能来快速筛选符合条件的数据。

我们可以选择一个数据范围,然后点击“数据”->“筛选”,在弹出的筛选窗口中选择“文本筛选”,然后选择“以...开头”或“以...结尾”的条件,输入汉语简拼的首字母,即可筛选出符合条件的数据。

类似地,我们还可以使用“排序”功能来按照汉语简拼的首字母对数据进行排序,以便更加方便地查找和整理数据。

利用Excel提取汉语简拼可以提高数据整理和查找的效率。

通过将汉字转换成拼音首字母,并将其用于命名、分类、标记、筛选和排序数据,我们可以更加方便地处理和管理大量的汉字数据。

这种方法不仅简单易用,而且能够节省我们大量的时间和精力,提高工作效率。

Excel提取中文数字字母的实用方法

Excel提取中文数字字母的实用方法

Excel提取中文,数字和字母,一分钟搞定!大家在处理Excel文档,经常会遇到一些将数字,字母,汉字混合在一起的数据,看着就头疼。

而往往领导又希望我们将这些数据拆分开,一边咒骂那个录数据的人,一边又在苦恼该怎么办。

今天教大家一分钟搞定这种情况。

示例数据以下图的数据为例我们想将中文,数字,英文单独分层3列来提取,提取完后的结果应该如下:方法一:快速填充Excel新添加的一个快速填充功能,处理这类数据简直就是神技,只要写好例子,双击拖动然后选择自动填充即可,如下图:快速填充可以在开始菜单的右侧功能选项中找到,如下图:其快捷键是【Ctrl+E】,只要选择示例单元格,同时按住Ctrl+E就可以立即向下实现快速填充的功能。

方法二:Word来帮忙我们将示例中的内容复制到Wold中,通过使用通配符依次获取到中文,数字和字母,如下图:先选中文档内容,按住【Ctrl+H】打开替换功能,依次使用三种通配符保留所需的数据类型。

因为我们是要保留相应的类型,所以将非该种类型的其他字符全部替换掉,剩下的就是我们需要的数据了。

匹配中文的通配符:[一-龥],上图中前面加了一个!,表示非中文字符的会全被匹配到替换。

匹配数字的通配符:[0-9]匹配字母的通配符:[a-zA-Z]每次将替换后剩下的数据复制到Excel的新列即可。

但在替换前一定要选中查找与替换对话框左中位置的“更多”里的“使用通配符。

方法三:自定义函数一键搞定上面的方法都不错,但是有没有更好的办法实现上面的功能呢?答案是肯定的。

我们可以直接通过VBA代码来自定义一个函数,完成上面的功能。

按住【Alt+F11】打开VBA窗口,然后点击【插入】——【模块】,在弹出的编辑窗口中输入如下代码:Function TQ(rng As Range, Optional i As String="数字")With CreateObject("vbscript.regexp")Select Case iCase"数字": .Pattern ="\d"Case"字母": .Pattern ="[a-zA-Z]"Case"汉字": .Pattern ="[\u4e00-\u9fa5]"End Select.Global=TrueSet matches = .Execute(rng.Value)For Each Match In matchesa = a & s & MatchNextTQ = IIf(Len(a) > 0, a, "")End WithEnd Function然后关闭即可在Excel中使用上面的自定义函数TQ了,具体操作如下:在b2单元格输入公式=TQ(A2,”汉字”)在c2单元格输入公式=TQ(A2,”数字”)在d2单元格输入公式=TQ(A2,”字母”)即可得到相关内容。

使用Excel快速获取姓名拼音

使用Excel快速获取姓名拼音

使用E x c e l快速获取姓名拼音The final edition was revised on December 14th, 2020.使用Excel快速获取姓名拼音召开会议或进行系统成员管理时,可能会需要批量获取姓名的汉语拼音,使用以下方法可以一劳永逸:1、新建一电子表格文件,内含两张表,一张命名为“转译”,一张命名为“资料”。

2、将以下内容粘至资料表的A1单元格(将会布满资料表的A1:B23单元格。

如果不好用鼠标选择,可将鼠标点在第一汉字前,按住Shift+向下键直到选完,然后按Ctrl+C复制,粘贴时右击鼠标后选择弹出的粘贴菜单的右侧那个去掉格式的按钮粘贴)吖 A八 B擦 C耷 D婀 E发 F噶G哈H肌J喀K垃L妈M拿N啪P期Q然R撒S塌T挖W西X压Y匝Z3、将以下资料粘至资料表的D1单元格(将会布满资料表的D1:E400单元格)吖 a安an肮ang凹ao八ba掰bai班ban邦bang包bao杯bei奔ben伻beng边bian 标biao 瘪bie 邠bin 冰bing 拨bo钸bu擦ca偲cai 参can 仓cang 糙cao 册ce参cen 噌ceng 叉cha 拆chai 觇chan 伥chang 抄chao 车che 抻chen 柽cheng充chong 抽chou 出chu欻chua 揣chuai 川chuan 窗chuang 吹chui 春chun 逴chuo 刺ci匆cong 凑cou粗cu汆cuan 崔cui村cun搓cuo咑da呆dai丹dan当dang 刀dao扽den 灯deng 氐di 嗲dia 掂dian 刁diao 爹die 丁ding 丢diu 东dong 兜dou 阇du 端duan 堆dui 吨dun 多duo 屙 e欸ei 奀en 鞥eng 儿er 发fa 帆fan飞fei 分fen 丰feng 佛fo缶fou 夫fu旮ga该gai 干gan 冈gang 皋gao 戈ge给gei 根gen 更geng 工gong 勾gou 估gu瓜gua 乖guai 关guan 光guang 归gui郭guo 哈ha孩hai 顸han 夯hang 蒿hao 呵he黑hei 痕hen 亨heng 轰hong 齁hou 乎hu花hua 怀huai 欢huan 肓huang 灰hui 昏hun 豁huo 几ji加jia 戋jian交jiao 节jie 巾jin 茎jing 垧jiong 纠jiu 居ju捐juan 撅jue 军jun 咔ka开kai 刊kan 康kang 尻kao 坷ke肯ken 阬keng 空kong 抠kou 刳ku夸kua 蒯kuai匡kuang 亏kui 坤kun 扩kuo 垃la来lai 兰lan 啷lang 捞lao 乐le勒lei 棱leng 黎li边lian 良liang 撩liao 咧lie 拎lin 令ling 溜liu 龙long 搂lou 撸lu抡lun 罗luo 驴lv 掠lve 妈ma 埋mai 嫚man 牤mang 猫mao 么me 没mei 闷men 蒙meng 咪mi 眠mian 喵miao 民min 名ming 谬miu 摸mo 哞mou 毪mu 那na囡nan 囊nang 孬nao 哪ne哪nei 恁nen 能neng 妮ni拈nian 酿niang 鸟niao 捏nie 您nin 宁ning 妞niu 农nong 耨nou 奴nu暖nuan 挪nuo 女nv疟nve 区ou拍pai 潘pan 乓pang 抛pao 呸pei 喷pen 烹peng 丕pi片pian 票piao 氕pie 拚pin 乒ping 钋po剖pou 仆pu七qi掐qia 千qian 强qiang 悄qiao 切qie 钦qin銎qiong 丘qiu 区qu悛quan 炔que 囷qun 蚺ran 嚷rang 饶rao 若re人ren 扔reng 日ri戎rong 柔rou 如ru阮ruan 蕤rui 闰run 若ruo 撒sa腮sai 三san搔sao色se森sen僧seng 杀sha筛shai 山shan 伤shang 捎shao 奢she申shen 升sheng 尸shi收shou 书shu刷shua 衰shuai 闩shuan 双shuang 谁shui 吮shun 说shuo 司si叟sou 苏su 狻suan 尿sui 孙sun 莎suo 他ta 台tai 坍tan 汤tang 涛tao 忑te 疼teng 体ti 天tian 佻tiao 帖tie 厅ting 恫tong 偷tou 凸tu 湍tuan 忒tui托tuo 挖wa歪wai 弯wan 汪wang 危wei 温wen 翁weng 挝wo乌wu夕xi虾xia 仙xian 乡xiang 肖xiao 些xie 心xin 兴xing 凶xiong 休xiu 需xu轩xuan 削xue丫ya 咽yan 央yang 幺yao 耶ye 一yi 因yin 应ying 庸yong 优you 迂yu 鸢yuan 曰yue 晕yun 扎za 灾zai 簪zan 赃zang 遭zao 则ze 贼zei 怎zen 曾zeng沾zhan 张zhang 钊zhao 折zhe这zhei 贞zhen 争zheng 之zhi中zhong 州zhou 朱zhu抓zhua 拽zhuai 专zhuan 庄zhuang 隹zhui 屯zhun 拙zhuo 孖zi宗zong 邹zou苴zu尊zun作zuo4、在将以下内容分别粘进转译表的A1~C1单元格中:姓名(2~4汉字,无空格)简拼全拼5、将以下公式粘进转译表的B2单元格并回车,以获得得姓名的简拼,注意不要多复制:=IF(LEN(A2)=2,LOOKUP(LEFT(A2,1),资料!$A$1:$B$23)&LOOKUP(RIGHT(A2,1),资料!$A$1:$B$23),IF(LEN(A2)=3,LOOKUP(LEFT(A2,1),资料!$A$1:$B$23)&LOOKUP(MID(A2,2,1),资料!$A$1:$B$23)&LOOKUP(RIGHT(A2,1),资料!$A$1:$B$23),IF(LEN(A2)=4,LOOKUP(LEFT(A2,1),资料!$A$1:$B$23)&LOOKUP(MID(A2,2,1),资料!$A$1:$B$23)&LOOKUP(MID(A2,3,1),资料!$A$1:$B$23)&LOOKUP(RIGHT(A2,1),资料!$A$1:$B$23),"请查检查姓名")))6、将以下公式粘进转译表的C2单元格并回车,以获得姓名的全拼:=IF(LEN(A2)=2,PROPER(LOOKUP(LEFT(A2,1),资料!$D$1:$E$400))&PROPER(LOOKUP(RIGHT(A2,1),资料!$D$1:$E$400)),IF(LEN(A2)=3,PROPER(LOOKUP(LEFT(A2,1),资料!$D$1:$E$400))&PROPER(LOOKUP(MID(A2,2,1),资料!$D$1:$E$400)),IF(LEN(A2)=4,PROPER(LOOKUP(LEFT(A2,1),资料!$D$1:$E$400))&PROPER(LOOKUP(MID(A2,2,1),资料!$D$1:$E$400))&PROPER(LOOKUP(MID(A2,3,1),资料!$D$1:$E$400))&PROPER(LOOKUP(RIGHT(A2,1),资料!$D$1:$E$400)),"请查检查姓名")))7、现在可以在A2开始的A列中输入汉字姓名了,最后根据需要向下填充公式即可。

Excel-VBA自定义函数取姓名的汉语拼音首字母

Excel-VBA自定义函数取姓名的汉语拼音首字母

Excel-VBA自定义函数取姓名的汉语拼音首字母应用场景用函数取汉语拼音的首字母知识要点1:Option Compare语句,设置缺省的字符比较方法,只能在模块级使用,语法Option Compare {Binary | Text | Database} Option Compare Binary ,按排序顺序进行字符串比较A<B<C<a<b<?等,Option Compare text 不区分大小写进行字符串比较A=a2:将所有拼音首字母相同的第一个汉字取出来组成一个字符串,例如拉、洛、梁等,拉=la最靠前,取拉3:将参数中的每个字符与参照字符串中每个比较,统计参照字符串中有多少字符小于参数中的字符,如果有10个,通过chr函数,转换成第9个英文字符J,非汉字保持不变Option Compare Text '比较方式为text'声明函数PY,有一个必选参数,为特引用的单元格或者字符串Function PY(Rng As Range)Application.Volatile '声明为易失性函数Dim i As Integer, k As Integer, Str As StringIf Len(Rng) = 0 Then PY = '': Exit Function '如果引用单元格空白,则返回空文本If Not IsNumeric(Rng) Then '如果不是数值Str = WorksheetFunction.Trim(Rng) '去除空格格后,赋予变量strFor i = 1 To Len(Str) '遍历所有字符If Mid(Str, i, 1) < '啊' Then '如果小于啊,表示不是汉字PY = PY & Mid(Str, i, 1) '保留原字符不变Elsek = 1'将字符串中每个字符与参数中的字符进行比较,统计字符串中大于参数中的字符的个数,得到变量 kDo Until Mid$('八嚓哒妸发旮铪讥讥咔垃妈拿哦妑七然仨他哇哇哇夕丫匝咗', k, 1) > Mid$(Str, i, 1)k = k 1LoopPY = PY & Chr(64 k) '根据K值得到大写的英文字母(chr(65)为第一个字母AEnd IfNextEnd IfEnd Function。

excel提取汉字的拼音首字母集锦

excel提取汉字的拼音首字母集锦

excel提取汉字的拼音首字母集锦方法一:(最完美的方法)如果你A列的汉字都在4个字符之内,那就在B列输入此公式:=LOOKUP(MID(A1,1,1),{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"})&LOOKUP(MID(A1,2,1),{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"})&LOOKUP(MID(A1,3,1),{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"})&LOOKUP(MID(A1,4,1),{"","";"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"})公式是长了一点,如果把{}里的数据定义为名称,可以转换更多的首字母具体方法:复制{}里的数据,插入-名称(或者按CTRL+F3),定义名称,如图,定义“拼音”为名称,下面的“引用位置”的“=”号后面粘贴刚才复制的{}里的数据确定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方法二:VBA自定义函数"=hztopy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入下述代码,那么,比如在A3中有"进退两难",则在B3中输入"=hztopy(A3)",则会得到"JTLN"。

不过此法有时候也会出错,比如"皓、鑫、婷、雯、奕"等,就无法提取汉字拼音首字母。

"Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function方法三:VBA自定义函数"=getpy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入上述代码,那么。

那么,比如在A2中有"进退两难",则在B2中输入"=getpy(A2)",则会得到"JTLN"。

不过此法有时候也会出错,比如"鑫、雯、奕"等,就无法提取汉字拼音首字母,还有些字如"皓、婷"等被错提取为“Z”。

Function getpychar(char)tmp = 65536 + Asc(char)If (tmp >= 45217 And tmp <= 45252) Thengetpychar = "A"ElseIf (tmp >= 45253 And tmp <= 45760) Thengetpychar = "B"ElseIf (tmp >= 45761 And tmp <= 46317) Thengetpychar = "C"ElseIf (tmp >= 46318 And tmp <= 46825) Thengetpychar = "D"ElseIf (tmp >= 46826 And tmp <= 47009) Thengetpychar = "E"ElseIf (tmp >= 47010 And tmp <= 47296) Thengetpychar = "F"ElseIf (tmp >= 47297 And tmp <= 47613) Thengetpychar = "G"ElseIf (tmp >= 47614 And tmp <= 48118) Thengetpychar = "H"ElseIf (tmp >= 48119 And tmp <= 49061) Thengetpychar = "J"ElseIf (tmp >= 49062 And tmp <= 49323) Thengetpychar = "K"ElseIf (tmp >= 49324 And tmp <= 49895) Thengetpychar = "L"ElseIf (tmp >= 49896 And tmp <= 50370) Thengetpychar = "M"ElseIf (tmp >= 50371 And tmp <= 50613) Thengetpychar = "N"ElseIf (tmp >= 50614 And tmp <= 50621) Thengetpychar = "O"ElseIf (tmp >= 50622 And tmp <= 50905) Thengetpychar = "P"ElseIf (tmp >= 50906 And tmp <= 51386) Thengetpychar = "Q"ElseIf (tmp >= 51387 And tmp <= 51445) Thengetpychar = "R"ElseIf (tmp >= 51446 And tmp <= 52217) Thengetpychar = "S"ElseIf (tmp >= 52218 And tmp <= 52697) Thengetpychar = "T"ElseIf (tmp >= 52698 And tmp <= 52979) Thengetpychar = "W"ElseIf (tmp >= 52980 And tmp <= 53640) Thengetpychar = "X"ElseIf (tmp >= 53689 And tmp <= 54480) Thengetpychar = "Y"ElseIf (tmp >= 54481 And tmp <= 62289) Thengetpychar = "Z"Else '如果不是中文,则不处理getpychar = charEnd IfEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy & getpychar(Mid(str, i, 1))Next iEnd Function方法四:Excel函数LOOKUP这个函数在Excel里面最多只能设置自动提取字段的前四个字的拼音首字母,多了会提示公式太长。

相关文档
最新文档