ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何理解 【A1&* 】和 【A1&? 】在COUNTIF的第二个参数中的区别?

如何理解 【A1&* 】和 【A1&? 】在COUNTIF的第二个参数中的区别?

作者:绿色风 分类: 时间:2022-08-17 浏览:116
楼主
悟空师弟
Q:如何理解 【A1&* 】和 【A1&? 】在COUNTIF的第二个参数中的区别?
如下图:B2单元格公式为
  1. =COUNTIF(A:A,A2&"*")
可以得到正确答案。
而C2单元格内的公式为
  1. =COUNTIF(A:A,A2&"?")
得到的结果却是错的,*与?同样是通配符,为什么得到不同的结果呢?

 

A:原因在于通配符*不占位,而?占1位。   
     数据简单化为例:假如A2单元格的数据为 ABC ,用 A2&"*" 做条件,凡是以 ABC 开头不管多少个字符的字符串都满足条件 A2&"*"  ,字符串 ABCDEFG 符合条件, ABC 也符合条件
     但,如果用 A2&"?" 做条件,则首先需要以 ABC 开头,且字符长度等于 ABC 的字符长度(3个)+1 (问号占一个,共4个)才符合条件A2&"?" ,比如ABCDABCF、ABC7、ABCABC 再加任何一个字符都满足条件,但,如果是 ABC 开头但字符数不是4个的字符串都不符合条件, ABC不够4字符,不满足条件。


    同理,将 ABC 换成一个长数值也一样, A2单元格内是个长数值,与此同理。
    这样,不难看出两个公式的差异:
    以上图中数据为例:
  1. =COUNTIF(A:A,A2&"*")
条件为 A2&"*"  公式的意思是:只要A列中是以A2单元格内的长数值开头,不管多少位都满足 A2&"*" 这个条件。
  1. =COUNTIF(A:A,A2&"?")
条件为 A2&"?"  公式的意思是:首先需要A列中是以A2单元格内的长数值开头,同时还需要A列的数据必须是A2单元格内的长数值的字符长度(18位)+1(共19位)的长度才满足A2&"?" 这个条件,而A列长数值全是18位,没有19位,就更没有满足 以A2单元格数值开头的19位字符串 条件,所以,返回的结果是 0 。

   


     如果A列出现1个以 A2单元格开头且字符长度为19个 的单元格,则统计结果将会得到 1 ,而且出现几个结果就是几,如下图中A20:A23这4个单元格内都满足 A2单元格开头且字符长度为19个 这个条件,C2单元格同则返回 4 ,而这4个单元格并不是真正与A2单元格完全一样的单元格,所以,用  A2&"?"  为条件的公式是错的。

 

    另外,上图中A2单元格和A20:A23都同时满足A2&"*" 这个条件,计算结果为5,也不是真正需要的正确结果。
    所以,由此得出公式 =COUNTIF(A:A,A2&"*") 只在A列长数值的文本长度一致时可用,否则需要判断字符长度是否与A2一致,公式须改为比较复杂的数组公式:
  1. =SUM(COUNTIF(OFFSET(A$1,ROW($1:$25),),A2&"*")*(LEN(A$2:A$26)=LEN(A2)))
详见附件:

如何理解“A1连接通配符星号”和“A1连接问题”在COUNTIF的第二个参数中的区别?.rar
2楼
君柳
折腾两小时果然有收获
3楼
acecrazy
长数值开头是不是“常数值”

关键词 “符星号”是不是应该是“星号符”
4楼
悟空师弟


“长数值”不是“常数值”,长数值是指超过15位的数值,如果不超过15位的数值直接用A2即可,不需要用A2&"*"。
“符星号”中的“符”字连着“通配”而不是连着“星号”,意思是指“通配符星号”,因文件名不能出现"&"号和"*"号这样的特殊字符,所以只能用中文描述。
5楼
poiuyman5
Very Nice!!!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap