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

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

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

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

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

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

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

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

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

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

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

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

统计类:COUNTIF、SUMIF、COUNTIFS、SUMIFS

查找类:VLOOKUP、HLOOKUP、MATCH

文本类:SERCH、SERCHB

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

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

公式组成运算符(函数遇上通配符)(1)

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

公式组成运算符(函数遇上通配符)(2)

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

公式组成运算符(函数遇上通配符)(3)

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

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

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

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呢?

公式组成运算符(函数遇上通配符)(4)

欢迎留言,答对了,奖励飞吻一枚,嘻嘻嘻。

图文作者:追风筝的李大饼

,