公式组成运算符(函数遇上通配符)
当函数遇上通配符,会产生怎样的化学反应呢?
路人甲:额,我只在查找替换里用过通配符。。。
路人乙:嘻嘻嘻,知道一点点。
路人丙:布吉岛,但我知道你肯定要带着我一起学习了。
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("?","你好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呢?
欢迎留言,答对了,奖励飞吻一枚,嘻嘻嘻。
图文作者:追风筝的李大饼
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com