首页 百科知识 函数遇上通配符,杀伤力!

函数遇上通配符,杀伤力!

时间:2023-09-22 百科知识 版权反馈
【摘要】:The second:当我想知道A列数据中第一个文本出现的位置时。SEARCH 和 SEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号。SEARCH是按字符来计数,不论单节还是双节,都记为1,SEARCHB是按字节来计数,单字节,记为1,双字节(即汉字),记为2。LEFTB 基于所指定的字节数返回文本字符串中的第一个或前几个字符。LEFT按字符来计数,LEFTB按字节来计数。

当函数遇上通配符,会产生怎样的化学反应呢?

路人甲:额,我只在查找替换里用过通配符。。。

路人乙:嘻嘻嘻,知道一点点。

路人丙:布吉岛,但我知道你肯定要带着我一起学(zhuang)习(bi)了。

 

Excel中通配符有3个,分别为?(问号)、*(星号)、~(波形符)

? (问号)  查找任意单个字符

例如:sm?th可找到“smith”和“smyth”

*(星号)  查找任意数量的字符

例如:*east 可找到“Northeast”和“Southeast”

~(波形符)  查找问号、星号或波形符

例如:fy91~?可找到“fy91?”

 

常用的适用通配符的函数有如下几个

统计类:countif  sumif  countifs sumifs

查找类:vlookup  hookup  match

文本类:serch serchb

 

下面我们通过几个栗子来学习学习吧。

The first:当已知各个部门人员名单,需要知道车间有多少人,但车间又分好几个部门时。




The second:当我想知道A列数据中第一个文本出现的位置时(注意是文本哦,这个公式利用了通配符适用于文本,不适用数值型数字这一特性)。




 The third:当我想提取A列数据中每个字符串前面的汉字部分时。



这道题公式的原理,是字节。

简单的说,字符有单字节和双字节两种类型,英文字母、数字、符号属于单字节,汉字属于双字节。

比如“好”,这是一个字符,两个字节。

SEARCH 和 SEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号。SEARCH是按字符来计数,不论单节还是双节,都记为1,SEARCHB是按字节来计数,单字节,记为1,双字节(即汉字),记为2。

 

=SEARCH("?","你好Excelhome")返回的结果是:1

=SEARCHB("?","你好Excelhome")返回的结果是:5

 

LEFT 从文本字符串的第一个字符开始返回指定个数的字符。LEFTB 基于所指定的字节数返回文本字符串中的第一个或前几个字符。LEFT按字符来计数,LEFTB按字节来计数。

=LEFT("你好Excelhome",4) 返回的结果是:你好Ex

=LEFTB("你好Excelhome",4) 返回的结果是:你好

所以综合起来=LEFTB(A2,SEARCHB("?",A2)-1)的思路就是先用serchb找到第一个字母中的位置,然后用leftb提取前面的汉字部分。

 

通过上面几个栗子,你是不是对函数与通配符之间的关系有了更深的了解了呢?那就通过下面这道题检验一下吧,为什么卫*同学的基本工资是3000,而VLOOKUP查找出来的是3500呢?



免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈