在Excel其中,有一颗身份独特的小星星(*),别小看他,就是这个小精灵,总让新手觉得难以捉摸。
因为星号,它的身份是独一无二的(*)除表示运算符乘号外,还具有通配符的身份,用于表示任何多个字符。
还有半角问号?问号也是一种通配符,表示单个字符。
由于身份特殊,必须有特殊的处理规则。如下图所示,单元格中的星号需要使用(*)批量替换为待评估。
按照常规方法,所有数据都将被待评估所取代。
正确的方法是:
在星号(*)之前加上波形符(~),转义的作用是告诉我Excel:我想找到的是文本字符*,不要按通配符处理。
星号在某些公式中(*)表示通配符。如公式:
=SUMIF(A:A,”HK*”,B:B)
就是说如果A列中以字符列中以字符HK开头,计算对应的B列之和。
支持通配符的常用函数包括:SUMIF、SUMIFS、COUNTIF、COUNTIFS、AVERAGEIF、AVERAGEIFS等等。
除使用星号外(*)除了根据模糊条件总结通配符外,星号(*)还有另一个特殊用途:如下图所示,需要标注身份证号码是否重复。
若直接使用以下公式进行判断,则无法得到正确的结果。
=IF(COUNTIF(B:B,B2)>1,"重复","")
在图中,女神和金莲的身份证号码完全一致,公式似乎没有问题,但看看金华的身份证号码,问题来了,后三个不同的身份证号码也被识别为相同。
这是因为COUNTIF在处理文本型数字时,函数会根据数值自动处理Excel最大精度只有15位,15位以上的部分全部按0处理,所以对18位的身份证号码有误判。
公式中可以添加一个星号(*),实现正确判断。
=IF(COUNTIF(B:B,B2&"*")>1,"重复","")
加上星号(*)其目的是将其强制识别为文本,相当于告知COUNTIF,我找的是以B单元格内容开头的文本可以区分女神和金花。
如果需要准确查找含有星号的星号(*)内容也需要特殊处理。如下图所示,需要根据D2单元格中的指定产品型号查询相应的供应商,E2单元格公式为:
=INDEX(B:B,MATCH(D2,A:A,))
结果明显不对,明明如花,回归怎么是女神?
由于D2单元格中包含星号(*),MATCH搜索函数时,将默认按通配符处理星号B列中返回前两个字符6S最后一个字符是A位置。若有多个合格结果,MATCH函数只能回到第一个位置,所以女神分不清。
使用以下公式可以返回正确的结果:
=LOOKUP(1,0/(A2:A8=D2),B2:B8)
通配符的特征不能用于使用等式A2:A8=D2.以完全匹配的方式返回逻辑值TRUE或是FALSE。然后用0除以逻辑值,得到0或错误值#DIV/0!组成的内存数组。
最后使用1作为查找值,以内存数组中最后一个0进行匹配,并返回B2:B8单元格对应位置的内容。
最后给大家留个小尾巴:如果在单元格中输入以下内容,想想结果会是什么?
=4**5
打开Excel验证一下,你猜对了吗?为什么会这样?
标签: 将星怎么查