当函数遇上通配符,会产生怎样的化学反应呢?
路人甲:额,我只在查找替换里用过通配符。。。
路人乙:嘻嘻嘻,知道一点点。
路人丙:布吉岛,但我知道你肯定要带着我一起学习了。
Excel中通配符有3个,分别为?(问号)、*(星号)、~(波形符)
? (问号) 查找任意单个字符
例如:sm?th可找到“smith”和“smyth”
*(星号) 查找任意数量的字符
例如:*east 可找到“Northeast”和“Southeast”
~(波形符) 查找问号、星号或波形符
例如:fy91~?可找到“fy91?”
常用的适用通配符的函数有如下几个
统计类:COUNTIF、SUMIF、COUNTIFS、SUMIFS
查找类:VLOOKUP、HLOOKUP、MATCH
文本类:SERCH、SERCHB
下面我们通过几个栗子来学习学习吧。
The first:当已知各个部门人员名单,需要知道车间有多少人,但车间又分好几个部门时。

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

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

这道题公式的原理,是字节。
简单的说,字符有单字节和双字节两种类型,英文字母、数字、符号属于单字节,汉字属于双字节。
比如“好”,这是一个字符,两个字节。
SEARCH 和 SEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号。SEARCH是按字符来计数,不论单节还是双节,都记为1,SEARCHB是按字节来计数,单字节,记为1,双字节(即汉字),记为2。
=SEARCH(&34;?&34;,&34;你好Excelhome&34;)返回的结果是:1
=SEARCHB(&34;?&34;,&34;你好Excelhome&34;)返回的结果是:5
LEFT 从文本字符串的第一个字符开始返回指定个数的字符。LEFTB 基于所指定的字节数返回文本字符串中的第一个或前几个字符。LEFT按字符来计数,LEFTB按字节来计数。
=LEFT(&34;你好Excelhome&34;,4) 返回的结果是:你好Ex
=LEFTB(&34;你好Excelhome&34;,4) 返回的结果是:你好
所以综合起来=LEFTB(A2,SEARCHB(&34;?&34;,A2)-1)的思路就是先用serchb找到第一个字母中的位置,然后用leftb提取前面的汉字部分。
通过上面几个栗子,你是不是对函数与通配符之间的关系有了更深的了解了呢?那就通过下面这道题检验一下吧,为什么卫*同学的基本工资是3000,而VLOOKUP查找出来的是3500呢?

欢迎留言,答对了,奖励飞吻一枚,嘻嘻嘻。
图文作者:追风筝的李大饼
暂无评论
发表评论