查找函数之Vlookup(取汉字首位字母)

合集下载

excel 文本查找函数

excel 文本查找函数

excel 文本查找函数Excel文本查找函数是Excel中最常用的函数之一,它可以帮助我们快速地查找我们想要的文本,不仅大大提高了效率,而且还可以节省不少时间。

Excel文本查找函数主要有两类:VLOOKUP()和FIND()。

VLOOKUP()是一种依赖于表格的函数,它可以在表格中查找某个文本字符,并返回与该文本字符有关系的值。

FIND()函数是一种依赖于单个文本的函数,它的作用是查找指定的字符串在一个文本中的位置,返回其开始位置的索引。

使用VLOOKUP()函数需要输入四个参数,即:要搜索的文本,所要搜索的列号,结果列号,及要查找的列表。

在使用Vlookup()函数时,最重要的一点是要确定目标文本与查找文本之间的关系。

如果Vlookup()函数的第一个参数是目标文本,那么第二个参数就是某一个列号,第三个参数就是要返回的结果列号,最后一个参数是查找文本的列表。

FIND()函数的参数只有两个,即要查找的文本和文本的位置。

第一个参数是要查找的文本,第二个参数是文本的位置,就是从文本的哪个位置开始查找。

如果不指定文本开始位置,那么FIND()函数就会从文本的开头开始查找,并返回文本的开头位置的索引。

同时,也有帮助用户提高工作效率的Excel文本查找的其他函数,例如,SEARCH()函数可以帮助我们找到文本中的某个字符;INDEX()函数可以帮助我们获取文本中指定列的值;OFFSET()函数可以帮助我们对文本的列进行定位,并根据后一列的值对其进行计算等。

总而言之,Excel文本查找函数是Excel中最常用的函数之一,它可以帮助我们快速地查找我们想要的文本,大大提高了效率,节省不少时间。

本文介绍了Excel文本查找函数的基本用法和特点,还介绍了一些与Excel文本查找相关的函数,使用这些函数能够帮助我们更有效地完成工作。

获取中文首字母的方法

获取中文首字母的方法

获取中文首字母的方法我在这摆弄文字、鼓捣数据的事儿里泡了好些时日了,平日里处理些信息啥的,常常就碰上要获取中文首字母的难题,刚起手弄的时候,脑袋像被一团迷雾罩着,摸不着北,可慢慢摸索,嘿,这里头的门道还真不少,像开锁似的,找对了钥匙,一下就敞亮了。

就说最常见的,用办公软件里自带的函数来弄,像Excel里头的那“VLOOKUP”函数,虽说它主要是干查找匹配事儿的,可搭配着捣鼓捣鼓,就能把中文首字母给揪出来。

我记得有回,单位要整理一份客户名单,上头全是密密麻麻的中文名,领导要求旁边附上首字母,方便检索查看。

我坐在办公桌前,电脑屏幕亮晃晃的,眼睛盯着那表格,心里直发怵,这么多名字,一个一个手动敲首字母,不得敲到猴年马月去。

正愁着呢,同事小李凑过来,拍拍我肩膀,笑嘻嘻地说:“嘿,咋愁眉苦脸的,不知道用函数提取首字母呐?”说着,他手指在键盘上“噼里啪啦”一通敲,一边敲一边念叨:“你瞧,先把这相关的代码模块设置好,再把姓名列对应进去,按这步骤走,首字母就像乖巧的兔子,自己蹦出来咯。

”我瞪大眼睛看着,屏幕上果真一个个首字母整整齐齐出现在新列里,当时那心情,像黑夜里见着了明火,又惊又喜,对这方法佩服得五体投地。

还有编程语言里,Python那家伙可神通广大了。

网上找些现成的库,像“pinyin”库啥的,引入到代码里,写几行简单指令,就能把中文转成拼音,再提取首字母,跟变魔术似的。

我有阵子痴迷捣鼓代码,就想试试用Python搞这个。

大晚上的,屋里灯光昏黄,我窝在电脑椅里,对着代码编辑器,逐行敲着代码,先是导入库,可老是报错,不是路径不对,就是版本冲突,急得我抓耳挠腮,脑门都沁出了汗。

正上火呢,在技术论坛里发了个求助帖,没多会儿,有个热心网友回我,详细讲了调整方法,还附了示例代码,我照着改,嘿,成了!输入中文名,瞬间首字母就显示出来,那成就感,像三伏天喝了口冰镇汽水,浑身舒坦,也愈发觉着编程语言这玩意儿,妙不可言呐。

Excel中进行用函数实现提取汉子首字母的操作技巧

Excel中进行用函数实现提取汉子首字母的操作技巧

Excel中进行用函数实现提取汉子首字母的操作技巧有一些场合,要用到汉字的首字母缩写,而Excel中并没有这样一个函数,可以直接提取汉字的首字母。

今天,店铺就教大家在Excel中进行用函数实现提取汉子首字母的操作技巧。

Excel中进行用函数实现提取汉子首字母的操作步骤首先,打开Excel,同时按下Alt+F11键,打开VBE界面,如下图所示。

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

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

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

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自带的函数一样使用这个自定义的Getpy函数了,它只有一个参数,参数可以直接指定单元格,也可以直接输入字符。

查找函数之Vlookup(取汉字首位字母)

查找函数之Vlookup(取汉字首位字母)

vlookup应用实例精确匹配查询之基本运用精确查找是vlookup 最基本也是最常用的功能,对于数据量大的查找,其速度比菜单中的查找还快。

设置vlookup 第四精确查找适用于文本,也适用于数值;但对数值查找时须注意格式一致,否则会出错数值近似匹配查询之基本运用近似匹配查找通常情况下用于累进数值的查找。

此时第四个参数省略,或为true,或为非0数值。

(EXCEL中0等同FA注意公式中第四个参数省略,或为true,或为非0数值。

并且查找的第一列必须升序排列,否则不会返回期望的结果(需要注意的是此时不一定返回错误)。

试着输入5000,你会发现税率为20%,应是15%(由条件指定),虽然对最后计算结果没有影响。

以返回文本近似匹配查询之基本运用对于文本,一般不使用近似匹配查找(非模糊查找)。

并非文本不能用于近似查找,主要是没有太多用途。

除了下面这个例子:这个例子利用文本近似匹配查找汉字的第一个拼音字母由于EXCEL中汉字字符是按拼音排序的,因此汉字字符比较时的大小与拼音同序左边的表是根据汉字拼音首字母排列,并取各字母的临界点汉字字符(该字母的通过将“家”与表中字符比较后,找到比“家”小的最大值“J这个例子一般用于姓名的缩写,而上面的公式只找第一个字符,因此需要修改这个公式取得前三个汉字字符的拼音字母。

使用MID依次取出字符后由Vlookup查使用该例关键是【表三】的建立;同理,如果要查找汉字的完整拼音,可以建立但这个方法并不一直正确,由于多音字及文字大小排序与其拼音不完全一致的原区别查询结果的空白与0值依次序返回同一查询结果的多列内容当查询某个结果的多列内容,并要依次取出,可使用column()函数作为index_num参数column()函数返回公式所在列的列号,当公式复制时,会随单元格的移动相应改变lookup_value参数使用混合引用,如$B96。

即对列标绝对引用(列标前加$)、行号相对引用上面公式只要输入C96中的公式,然后向右、向下复制就可以。

取汉字首字母的函数

取汉字首字母的函数

取汉字首字母的函数在计算机编程中,取汉字首字母的函数是一个常见的需求。

这个函数的作用是将汉字转换为拼音首字母,以便于排序、搜索等操作。

下面介绍一种常用的取汉字首字母的函数实现方法。

首先,需要准备一个汉字拼音表。

这个表可以手动编写,也可以使用现成的拼音库。

在这个表中,每个汉字对应一个或多个拼音,每个拼音都有一个对应的首字母。

接下来,实现取汉字首字母的函数。

这个函数的输入是一个汉字字符串,输出是该汉字的拼音首字母。

具体实现方法如下:1. 将汉字字符串转换为Unicode编码。

可以使用Python中的ord()函数实现。

2. 根据Unicode编码查找汉字拼音表,获取该汉字的拼音列表。

3. 对于每个拼音,取其首字母,并将首字母拼接起来。

可以使用Python中的字符串切片实现。

4. 返回拼接后的字符串作为结果。

下面是一个Python实现的示例代码:```pinyin_table = {# 汉字拼音表}def get_first_letter(chinese):# 将汉字转换为Unicode编码code = ord(chinese)# 查找汉字拼音表pinyin_list = pinyin_table.get(code, [])# 取每个拼音的首字母first_letters = [pinyin[0] for pinyin in pinyin_list]# 拼接首字母result = ''.join(first_letters)return result```需要注意的是,这个函数只能处理单个汉字,如果需要处理汉字字符串,需要在外部循环调用该函数。

另外,由于汉字拼音存在多音字的情况,同一个汉字可能对应多个拼音,因此需要在函数中处理这种情况。

一种常见的方法是选择第一个拼音的首字母作为结果,也可以将所有拼音的首字母拼接起来。

总之,取汉字首字母的函数是一个常见的需求,实现方法也比较简单。

通过使用汉字拼音表,可以快速地将汉字转换为拼音首字母,方便进行排序、搜索等操作。

wps表格教程三秒钟获取字词对应的第一个字母

wps表格教程三秒钟获取字词对应的第一个字母

4,1101,1609,1793,2080,2560,2902,3845,4107,4679,5154,53 97,5405,5689,617
0,6229,7001,7481,7763,8472,9264},{"A","B","C","D","E","F", "G","H","J",
"K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"}) 9,6170,6229,7001,7481,7763,8472,9264},{ "A","B","C","D"
,"E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T"," W","X","
Y","Z"})
5405,5689,6170,6229,7001,7481,7763,8472,9264},{"A","B"," C","D","E","F"

获取汉字首字母的函数

获取汉字首字母的函数

获取汉字首字母的函数获取汉字首字母的函数是一种非常常见的需求,尤其是在中文搜索和排序等场景中。

在这篇文章中,我们将介绍几种获取汉字首字母的函数,并对它们的优缺点进行比较。

方法一:使用Unicode编码Unicode编码是一种国际标准,它为世界上所有的字符都分配了一个唯一的编码。

在Unicode编码中,每个汉字都有一个唯一的编码,因此我们可以通过获取汉字的Unicode编码来获取它的首字母。

具体实现方法如下:```pythondef get_first_letter(string):letter = ''for s in string:if '\u4e00' <= s <= '\u9fff':letter += chr(ord('a') + ord(s) - ord('\u4e00'))else:letter += sreturn letter```这个函数的实现方法非常简单,它遍历了字符串中的每个字符,如果是汉字,则将它的Unicode编码转换为对应的小写字母,否则直接将字符添加到结果中。

这种方法的优点是实现简单,而且可以处理任何汉字,缺点是它只能处理汉字,对于其他字符无法处理。

方法二:使用拼音库拼音库是一种将汉字转换为拼音的工具库,它可以将汉字转换为拼音,并且可以获取拼音的首字母。

因此,我们可以使用拼音库来获取汉字的首字母。

具体实现方法如下:```pythonimport pypinyindef get_first_letter(string):letter = ''for s in string:if '\u4e00' <= s <= '\u9fff':letter += zy_pinyin(s)[0][0]else:letter += sreturn letter```这个函数的实现方法比较简单,它使用了拼音库中的lazy_pinyin函数将汉字转换为拼音,并且获取拼音的首字母。

lookup函数提取字母

lookup函数提取字母

lookup函数提取字母
lookup函数是Excel中的一种函数,它可以根据指定的数值或文本在表格中查找并返回相应的数值或文本。

如果你想要提取一个单元格中的字母部分,可以使用一些Excel函数来实现。

一种方法是使用MID函数,该函数可以从文本中提取指定位置的字符。

假设你要提取A1单元格中的字母部分,可以使用类似
=MID(A1,1,1)的公式,其中第一个参数是要提取的单元格,第二个参数是起始位置,第三个参数是要提取的字符数。

这样就可以提取出A1单元格中的第一个字母。

另一种方法是使用LEFT或RIGHT函数,它们可以分别从文本的左边或右边提取指定数量的字符。

例如,=LEFT(A1,1)将提取A1单元格中的第一个字母,而=RIGHT(A1,1)将提取最后一个字母。

除了这些基本的函数,你还可以结合其他函数来实现更复杂的提取操作,比如使用IF函数来判断条件后再提取,或者使用组合函数来处理多个条件的情况。

总的来说,要提取单元格中的字母部分,可以结合使用Excel
中的MID、LEFT、RIGHT等函数,根据具体的需求来选择合适的函数和参数。

希望这些方法能够帮助到你。

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

vlookup应用实例精确匹配查询之基本运用
精确查找是vlookup 最基本也是最常用的功能,对于数据量大的查找,其速度比菜单中的查找还快。

设置vlookup 第四精确查找适用于文本,也适用于数值;但对数值查找时须注意格式一致,否则会出错
数值近似匹配查询之基本运用
近似匹配查找通常情况下用于累进数值的查找。

此时第四个参数省略,或为true,或为非0数值。

(EXCEL中0等同FA
注意公式中第四个参数省略,或为true,或为非0数值。

并且查找的第一列必须升序排列,否则不会返回期望的结果(需要注意的是此时不一定返回错误)。

试着输入5000,你会发现税率为20%,应是15%(由条件指定),虽然对最后计算结果没有影响。

以返回
文本近似匹配查询之基本运用
对于文本,一般不使用近似匹配查找(非模糊查找)。

并非文本不能用于近似查找,主要是没有太多用途。

除了下面这个例子:
这个例子利用文本近似匹配查找汉字的第一个拼音字母
由于EXCEL中汉字字符是按拼音排序的,因此汉字字符比较时的大小与拼音同序
左边的表是根据汉字拼音首字母排列,并取各字母的临界点汉字字符(该字母的
通过将“家”与表中字符比较后,找到比“家”小的最大值“J
这个例子一般用于姓名的缩写,而上面的公式只找第一个字符,因此需要修改
这个公式取得前三个汉字字符的拼音字母。

使用MID依次取出字符后由Vlookup查
使用该例关键是【表三】的建立;同理,如果要查找汉字的完整拼音,可以建立
但这个方法并不一直正确,由于多音字及文字大小排序与其拼音不完全一致的原区别查询结果的空白与0值
依次序返回同一查询结果的多列内容
当查询某个结果的多列内容,并要依次取出,可使用column()函数作为index_num参数
column()函数返回公式所在列的列号,当公式复制时,会随单元格的移动相应改变
lookup_value参数使用混合引用,如$B96。

即对列标绝对引用(列标前加$)、行号相对引用上面公式只要输入C96中的公式,然后向右、向下复制就可以。

返回同一查询结果的多列(不按原次序)的内容
按姓名及不同项目(不依次序)在【表一】中查询
注意公式中Match函数的第一个参数使用行
Vlookup函数的第一个参数使用按部分内容模糊查询
vlookup支持通配符【*】和【?】,因此当查找内容不全时,可以使用通配符;如例
公式中使用【&】将查找文本与通配符连接后查找,注意通配符连接位置
注意查找中,有多个符合条件的结果时,只会返回第一个
在同一单元格按不同字段查询
返回多个符合条件的查询结果
该公式结果为:如姓名列内容与查找姓名相同,
为便于复制,vlookup第一个参数数值1、2、3……使用函数row()返有两个并列条件(不同字段)的查询
对于此类根据两个或多个并列条件查
B158公式=C158&D158,即将被查找的内容
有些数据需要在两个数据间插入一特殊符号(查询数据
例如两个条件分别是:
此时就需要用其他符号将其区别:
使用【&】将要查询的两个条件合并后作为查询值,在使用数组常量的查询
一般,使用vlookup前需要有一个对应的表格供查找,即作为vlookup的Table_array参数的表格区域;
但有时这个表格可能会显得累赘;如果数据不是太多而且比较固定,可以考虑使用数组常量代替单
所谓数组常量就是直接输入的一组数组,以“{}”开始结束、同一行的数值用逗号“,”分隔、同一列的数
如{10,20,30},是一行三列(横向)、包含三个元素的一维数组常量
{10;20;30;40},是一列四行(纵向)、包含四个元素的一维数组常量
{10,20,30;40,50,60},是两行三列、包含六个元素的二维数组常量;二维数组常量需要行列等如果你觉得输数组常量麻烦(要区分【,】、【;】,文本要加【"】),
可以先将数据输入单元格区域,然后在其它单元格输入【=】,用鼠标选定该区域后按F9,显示的就是数组其实将以前使用的vlookup公式中第三个参数(区域不要太大)选定按F9,再回车,可以看到公式正常运作;此时已使以下举例中的公式并不是数组公式,输入时不用Ctrl+Shift+Enter一齐按
F9得到的;
从右向左查询
我们知道,vlookup查找的列必须位于查找区域的最左列,有时会需要按右面的查找左边的值
以【表一】为例,要按【姓名】查询【工号】很容易;但反过来按【工号】查找【姓名】直接使用
此时可以使用的公式很多,如lookup、index+match、offset+match、indirect+match等但由chenjun版主提供的使用vlookup的解法我觉得很有参考价值,介绍这个用法的目的主要是学会将两个一维数组合
可以看到,在该内存数组中,【工号】位于【姓名】的左侧,Vlookup在该内存数组中查找
注意{1,0}是一行二列(横向)常量数组,后面的两个区域是多行一列(纵向),即两个数组
单中的查找还快。

设置vlookup第四个参数为false或0,即为精确查找。

使用绝对引用(可在公式中选定区域按F4转换),便于复制。

9位于第四列,因此第三个参数为4;精确查找,第四个参数FALSE
框(编辑栏左边)可以选定;也可在插入—名称—定义中查看修改
围的改变,籍贯位于该范围的第3列,因此第三个参数为3
(即格式没有带过来)
数值。

(EXCEL中0等同FALSE,非零值均视为TRUE)
不一定返回错误)。

响。

以下公式可以解决这个问题:
多用途。

除了下面这个例子:
汉字字符比较时的大小与拼音同序(一般情况下)
各字母的临界点汉字字符(该字母的“最小汉字”)
大值“夻”,返回J
个字符,因此需要修改
使用MID依次取出字符后由Vlookup查询到字母,最后“&”连接文本
果要查找汉字的完整拼音,可以建立一个由各种拼音组成的类似列表。

字大小排序与其拼音不完全一致的原因,有时返回的字母可能不是你要的
的0值会返回0;
非空字符串)也会返回0;
元格区别,可以直接判断是否="",或使用len函数测试返回值的长度;
接判断=0,或在【工具】—【选项】中将【零值】去掉。

ndex_num参数
随单元格的移动相应改变
引用(列标前加$)、行号相对引用(行号前没有$);复制时引用单元格会改变。

项目内容在B8:F8区域的位置,将返回值作为vlookup的第三个参数。

Match函数的第一个参数使用行号绝对引用、列标相对引用;
p函数的第一个参数使用行号相对引用、列标绝对引用;
名区中有C131单元格的内容,按姓名查找;否则按工号查找,如果按姓名查找出错,就按工号查找;
up,第二、三个参数由判断结果决定(查找范围、列号)。

一个结果(数据区由上向下第一个)
姓名查找同名的各个工号
大时,使用数组公式会由于计算量大,速度会很慢
列(注意辅助列需添加在左侧,因为要根据辅助列的内容查找)
C$148=C141)+B140;等同=IF($C$148=C141,1,0)+B140
相同,则按顺序显示1、2、3……,从而将相同姓名区分
查找内容的多个结果(注意查找区域由辅助列开始)
数值1、2、3……使用函数row()返回的行号产生
同内容的目的
条件查找某个结果的问题,使用vlookup也需要添加辅助列
58,即将被查找的内容合并作为一列,并以此作为查找列。

)以示区别
的两个条件合并后作为查询值,在区域$B$158:$E$163中查询第4列内容
参数的表格区域;
代替单元格区域的方法;
值用逗号“,”分隔、同一列的数值用分号“;”分隔
组常量;二维数组常量需要行列等长
选定该区域后按F9,显示的就是数组常量,然后复制到公式中
,可以看到公式正常运作;此时已使用了数组常量
还不占用单元格
】——【定义】中查看
接使用vlookup就不行了
direct+match等
的目的主要是学会将两个一维数组合并为一个二维数组
组:
;"KT004","赵六儿"}
侧,Vlookup在该内存数组中查找
是多行一列(纵向),即两个数组的方向不同,这样才会生成两列多行数组。

相关文档
最新文档